UITableView 使用总结

centos+apache+subversion+LDAP yum install subversion 报错:[Errno 14] HTTP Error 416 - Requested Range Not Satisfiable 正在尝试其它镜像。 zaici 阅读详情

转载自http://www.devdiv.com/home.php?mod=space&uid=18486&do=blog&id=6138



UITableView 使用总结

已有 169 次阅读 2011-11-1 17:29 |个人分类:object-c/iphone| 展示, 代理, 开发

UITableView是iOS开发中,使用最广泛的组件之一。通常都用它来展示一列数据,如果和NavigationController结合,就能方便的展示层次化得数据,比如Contacts。

使用UITableView,需要为它提供两个代理类,一个是UITableViewDataSource,用来给TableView提供数据; 另一个是UITableViewDelegate,控制TableView的展示方式以及事件响应。

Protocol UITableViewDataSource

实现UITableViewDataSource的代理类,必须实现三个方法:

  1. (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  2. (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  3. (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  4. 示例代码:

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
         return [regions count];
    }
     
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
         // Number of rows is the number of time zones in the region for the specified section.
         Region *region = [regions objectAtIndex:section];
         return [region.timeZoneWrappers count];
    }
     
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
         static NSString *MyIdentifier = @"MyIdentifier" ;
         UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
         if (cell == nil) {
             cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
         }
         Region *region = [regions objectAtIndex:indexPath.section];
         TimeZoneWrapper *timeZoneWrapper = [region.timeZoneWrappers objectAtIndex:indexPath.row];
         cell.textLabel.text = timeZoneWrapper.localeName;
         return cell;
     
    }

    方法一返回TableView的Section的数据, 方法二返回每一个section有的row的数据, 方法三给每一个row返回一个TableViewCell,因为TableView只有一例。

    默认的TableViewCell可以设置一个image,一个text, 一个subtitle。但是显示什么数据还取决与当前这个TableViewCellStyle。

    UITableViewDataSource的其他常用方法示例:

    //设置section tital

    - (NSString *)tableView:(UITableView *)tableViewtitleForHeaderInSection:(NSInteger)section{

    return @"taiyang";

    }


    待续!!!!

    Protocal UITableViewDelegate

    UITableViewDelegate用来管理Row的选择和编辑。

    1. tableView:willSelectRowAtIndexPath:
    2. tableView:didSelectRowAtIndexPath:
    3. tableView:willDeselectRowAtIndexPath:
    4. tableView:didDeselectRowAtIndexPath:

    此四个方法管理Row的选择. 例如willSelectRowAtIndexPath, 如果此方法返回nil,那么所属的row将无法被选中。

    1. tableView:willBeginEditingRowAtIndexPath:
    2. tableView:didEndEditingRowAtIndexPath:
    3. tableView:editingStyleForRowAtIndexPath:
    4. tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:

    此四个方法在编辑Row时会被触发。editingStyleForRowAtIndexPath决定Row是否可以被编辑,删除或者移动。targetIndexPathForMoveFromRowAtIndexPath则在移动Row时会把触发,在交换Row位置的时候,必须同时交换DataSource中数据的位置。


    UITableViewDelegate 其他常用方法示例:

    //行缩进

    -(NSInteger)tableView:(UITableView *)tableViewindentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{NSUInteger row = [indexPath row]; 

    return row;

    } 

    //改变行的高度 

    - (CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath{ 

    return 40; 

    }


    待续!!!!

    UITableView  section 头委托view

    //section头委托view

    - (UIView *)tableView:(UITableView *)tableViewviewForHeaderInSection:(NSInteger)section{

     if (section == 0) {

     tableView.sectionHeaderHeight = 100;

     //创建一个视图(v_headerView)

     UIView *v_headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 100)];

     //创建一个UIimageView(v_headerImageView)

     UIImageView *v_headerImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 100)];

     //给v_headerImageView设置图片

     v_headerImageView.image = [UIImage imageNamed:@"icon_test.png"];

     //将v_headerImageView添加到创建的视图(v_headerView)中

     [v_headerView addSubview:v_headerImageView];

     //释放v_headerImageView所占用的资源

     [v_headerImageView release];

     //创建一个UILable(v_headerLab)用来显示标题

     UILabel *v_headerLab = [[UILabel alloc]initWithFrame:CGRectMake(10, 1, 100, 19)];

     //设置v_headerLab的背景颜色

     v_headerLab.backgroundColor = [UIColor clearColor];

     //设置v_headerLab的字体颜色

     v_headerLab.textColor = [UIColor grayColor];

     //设置v_headerLab的字体样式和大小

     v_headerLab.font = [UIFont fontWithName:@"Arial" size:13];

     //设置v_headerLab的字体的投影

     v_headerLab.shadowColor = [UIColor whiteColor];

     //设置v_headerLab的字体投影的位置

     [v_headerLab setShadowOffset:CGSizeMake(0, 1)];

     //设置每组的的标题

     v_headerLab.text = @"测试数据";

     //将标题v_headerLab添加到创建的视图(v_headerView)中

     [v_headerView addSubview:v_headerLab];

     //释放v_headerLab所占用的资源

     [v_headerLab release];

     //将视图(v_headerView)返回

     return v_headerView;

     }

     else{

      return nil;

      }

    }





    想要详细了解如何使用TableView的最好的地方当然是Apple Developer官方的文档。Table View in iOS Applications

SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据 摘要:雷工分享KingSCADA4.0信创版采集汇川PLC数据的配置过程。由于项目繁忙,笔记更新延迟。信创产业要求采用国产化产品,此次通过ModbusTCP协议连接AC810 PLC。主要步骤包括:新建IOServer应用(需厂家协助从3.8升级至4.0)、安装ModbusTCP驱动、配置设备地址(192.168.1.88:5021)、运行IOServer并通过网页监控变量。尽管信创版操作体验较差,但出于国产化战略需要仍需使用。雷工表示理解产品初期不足,相信未来会逐步优化。2025年4月11日记录于四川绵阳 阅读详情

相关推荐

求一个点到任意两个点所在直线距离 C#代码公式

求点C(X0,Y0) 到点A(x1,y1)和点B(x2,y2)所在直线的距离 1.已知任意两个点,求这两个点所在直线 已知点A(x1,y1),点B(x2,y2) 设直线上另外任意一个点为(x,y) 那么 (x-x1)/(y-y1) = (x2-x1)/(y2-y1); 整理后得方程: (y2-y1)x + (x1-x2)y + (y1-...

qq_29434987的博客 4492

Swift之UITableView的使用

Swift和OC中UITableView的使用基本是差不多,只是有一些语法上的差异。下面我们一步一步从0开始写一个tableView。 一、创建tableView 复制代码 import UIKit let ID = "Cell" //cell的ID,建议像这样写一个常量,不要直接使用"Cell" class ViewController: UIViewControlle

duichenluan的博客 364

LIO-SAM运行报错‘process has died’?别慌,一个命令搞定libmetis.so库路径问题

本文详细解析了LIO-SAM运行中常见的‘process has died’报错问题,特别是由libmetis.so库路径错误导致的节点崩溃。通过一个简单的命令移动库文件到正确位置,即可快速解决这一问题,同时提供了多种替代方案和预防措施,帮助开发者更好地理解Linux动态库加载机制和ROS环境管理。

weixin_29231221的博客 205

UITableView的基本使用一

UITableView继承自UIScrollView,所以内容过多的分屏操作,也不用开发者操心了,开发中很多数据展示都用到这个空间,比如类似九宫格菜单和系统设置,通讯录等等。 #pragma mark - 数据源方法 返回分组 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

看不见的城市 1980

keil软件调试(Debug)仿真教程(软件调试和硬件调试的区别)及常用调试按键详解

单片机的调试分为两种,一种是使用软件模拟调试,第二种是硬件调试,两种调试方式各有不同,软件模拟调试有误差,而硬件调试,借用仿真器调试是嵌入式开发中常用方法。

weixin_51624736的博客 3万+

Windows BITS服务:后台智能文件传输技术详解

后台文件传输技术是现代IT基础设施中的关键组件,Windows BITS(Background Intelligent Transfer Service)作为微软原生解决方案,通过队列管理和智能调度实现高效数据传输。其核心技术原理包括分块传输、断点续传和带宽自适应,能够根据网络状况动态调整传输速率(默认占用空闲带宽的80%)。在工程实践中,BITS特别适用于企业软件分发和自动化数据采集场景,通过PowerShell命令即可实现高优先级传输和代理配置。相比传统FTP方案,BITS在跨国文件传输中将失败率从30

weixin_42116058的博客 274

UITableView的介绍及使用

前言UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难,但是要用好并不容易。当使用的时候我们必须要考虑到后台数据的设计,tableViewCell的设计和重用以及tableView的效率等问题。下面分9个方面进行介绍:一、UITableView概述 UITableView继承自UIScrollView,可以表现为Plain和Grouped两种风格。 查看UITableView

码虫儿 578

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

IOS使用UItableView实现下拉菜单组件(UITableView的使用方法)

一. 基础版本 在登陆界面有时需要保存已经登陆的账号信息,可以点开一个下拉菜单选择保存的账号,这里是用UIKit的表格组件编写一个下拉菜单组件demo,实现思路如下: 1.首先在一个UIViewController里放一个按钮或者标签框,用来显示当前选中的账号,右边放一个打开下拉菜单的小按钮,点击按钮时打开菜单,菜单是一个UITableView,设置好显示框后,

西毒 3522

Qt c++ llama.cpp 运行 LLaMA-3-8B 中文对话机器人(多模态输入)

助手:

寒寒豆豆软件公司的博客 219

PCL 平面点云的凹多边形边界提取【2025最新版】

平面点云的凹多边形边界提取及边界轮廓线绘制。博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 7183

UITableView使用详解

在开发iphone的应用时基本上都要用到UITableView,这里讲解一下UITableView的使用方法及代理的调用情况 - (void)viewDidLoad {     [super viewDidLoad];     //初始化数据     NSArray *array1_=@[@"张铁林",@"张国立",@"张国荣",@"张艺谋",@"张惠

Xcocode_ios的专栏 937

python3.12 百分百解决安装dlib失败问题【研究原理后Bug已解决】

python3.12 百分百解决安装dlib失败问题【研究原理后Bug已解决】 python3.12版本下安装dlib失败。截图如下。试了网上很多方法都失败,耗费了很多时间终于找到适用于python3.12版本安装dlib的方法,亲测百分百成功。几乎尝试了所有的方法都不太行。终于找到安装的方法了。 原因分析: 版本匹配问题。我们现在是python3.12 使用pip根本无法安装。下面我们一起手动安装,1分钟搞定。

一键难忘的博客 7128

UITableView 基本使用方法总结

UITableView 基本使用方法总结

tangaowen的专栏 12万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

UITableView的简单使用

有关于UITableView的介绍,在苹果官网上有比较具体的介绍,下面我还是简单复述一下下。表用于显示数据列表,数据列表中的每项都由行表示 ,共主要作用如下: 为了让用户能通过分层的数据进行导航 为了把项以索引列表的形式展示 用于分类不同的项并展示其详细信息 为了展示选项的可选列表 UITableView的种类: 一种是分组表:

把握自己。 4826

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

UITableView-FDTemplateLayoutCell 使用

基本用法 If you have a self-satisfied cell, then all you have to do is: #import "UITableView+FDTemplateLayoutCell.h" - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath

为你超神 4848

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

UITableView的基本使用

UITableView作为iOS开发里基本控件,是我们第七个需要学习的。下面我来为大家介绍一下UITableView的一些常用属性和它们的用法。这里附上UI控件演示的源码地址:https://github.com/LOLR2017/UIKitDemo。源码持续更新中...因为部分代码是从Xcode直接拷贝出来的样式有误请谅解。UITableView的内容较多,这里我就只演示基本代码,关于table...

a174455171的专栏 423

UITableView 使用详解

UITableview

lmyuanhang的专栏 1866

UITableView 基本使用

1、要使用UITableView必须用当前实现两个协议 UITableViewDataSource协议实现了数据加载的方法,UITableViewDelgate协议实现了UITableView外观设置,事件等方法。 01 // RootViewController.h 测试控制器 02

游戏爱好者1199 726

关于UITableView使用

七。UITableView使用 1. UITableView的创建 //UITableView 继承于 UIScrollView //UITableViewStylePlain默认样式 //UITableViewStyleGrouped 自动分段 //新建一个UITableView    UITableView *tableView = [[UITableView alloc]

klkxxy的博客 320

iOS-UITableView使用详解深入浅出

iOS-UITableView使用详解深入浅出

980404514_凡凡的专栏 706

UITableView 的使用

[_ttableView scrollsToTop]; [_ttableView setContentOffset:CGPointMake(100, 0)]; _ttableView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0); //contentInset:内容边距 //contentOffset:内容偏移

luckxing的博客 272

第一、UITableView的使用大全

首先、对UITableView进行讲解,下面有对它进行实际的应用 UITableView       显示大型内容的列表             单行,多列              垂直滚动,没有水平滚动              大量的数据集     性能强大,而且普遍存在于iPhone的应用程序中 TableView

ch_soft的专栏 3万+

UItableView编辑的使用edit, UItableView的一些常用方法

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];     if (self) {         // Custom i

lyj861144636的专栏 674

如何使用UITableView

使用UITableView,可以直接拖动Table View Controller,这样会生成一堆模板代码,往你们填就行了,但是有时候不能直接这样拉,例如已经有一个UIView(可能在Navigation View或者Tabbed View里面)想在上面添加Table View。下面是步骤。 1.先把Table View控件拉到UIView中。 2.做一个connection绑定,把这个...

weixin_30633405的博客 79

UITableView 使用小分类

一)UITableView所在的UIViewController声明两个delegate:UITableViewDelegate和UITableViewDataSource。 二)将UITableView对象的delegate设置成self。 三)根据实际需要实现delegate的具体方法,这里简要介绍一下常用的方法和属性。 (1)- (NSInteger)numberOfSec

niejinhao052011的专栏 971
上一篇: iOS视图切换相关总结
下一篇: 转载:UIWebView用法
getengwork
博客等级 码龄15年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值