一、UITableView的代理方法
#pragma mark 每一行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
#pragma mark 选中了某一行就会调用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
#pragma mark 取消选中了某一行就会调用
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
#pragma mark 当用户提交了一个编辑操作就会调用(比如点击了“删除”按钮)
// 只要实现了这个方法,就会默认添加滑动删除功能
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
#pragma mark 当移动了某一行cell就会调用
// 只要实现了这个方法,就会默认添加排序功能
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
二、修改Cell的状态
1.最好通过“修改模型数据”来修改Cell的状态
2.修改步骤
1> 修改模型数据
2> 刷新表格
* 整体刷新:reloadData(最重要)
* 局部刷新:reloadRowsAtIndexPaths:withRowAnimation:
三、UITableView常见方法
1.取消选中某一行(去掉cell选中时默认的蓝色背景)
- (void)deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated;
2.局部刷新(仅仅刷新indexPaths数组中装着的行)
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
3.整体刷新(屏幕中的每一行都刷新)
- (void)reloadData;
4.直接删除界面上的行数(要求模型数据也要删掉对应的数量)
- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
5.设置编辑模式
@property(nonatomic,getter=isEditing) BOOL editing;
- (void)setEditing:(BOOL)editing animated:(BOOL)animated;
// 注意:
不管是局部刷新,还是整体刷新,原理都是:
UITableView重新向数据源(dataSource)和代理(delegate)发送相应的消息,最终将得到的数据展示出来
分享到:
相关推荐
iOS基础——通过案例学知识之UITableView
iphone中的基础控件UITableView,适合初学者,主要学习UITableView的常用属性设置、自定义分区标题、cell显示定义、索引列显示、索引列点击事件等。 通讯录按照首字母分区显示,右边显示索引列(A、B、C、D……X、Y...
对UITableView的基础封装。可以定制。封装的不是很好,希望大家能够批评指定
iphone中的基础控件UITableView的多行编辑控制,适合初学者,主要学习UITableView进行多行编辑的控制,ios5.0以上,SDK 6.0以上版本才可以使用table中选中多行事件。
uitableVIew 异步 加载图片,ios基础开发里面的tableview开发编写。很实用
iOS基础——通过案例学知识之UITableView(上)
iOS基础——通过案例学知识之UITableView(中)
项目中用到带有带有UITableView的UIAlertView,刚开始的做法 是 UIAlertView 的基础上addsubview上UITableView,UITableView的大小固定,但是 出现 横屏的时候 UITableView跟UIAlertView的大小不搭配了 ,后来自定义...
使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
在上面传的基础上更改了一点内容,动态删除,提示删除。还以为csdn上传的资料可以删除,结果没发删除,只好再传一个新的版本了!
UITableView-Search-Swift-2.0 在Swift 2.0中,带有UITableView和搜索栏的基础项目。 包括简单和自定义对象搜索
这几天在和一个搞Iphone编程的一起探讨一个关于TableViewCell的删除问题,在NAvigation里面添加Cell然后删除,不要Iphone开发基础教程中的呢样,在每一个cell中添加一个按钮,点击按钮直接删除该行,在CC上搜索很多...
表格视图是几乎所有 iOS 应用程序的基础,但它们也是最难掌握的控件之一。 UITableView的开箱即用是通过使用表的数据源和委托协议的命令式 API 来驱动的。 虽然可以无限扩展,但这种设计模式很快就会变得难以管理,...
这篇文章主要讲的表格的操作包括:标记行、移动行、删除行、插入行。 这次就不从头建立工程了,...这个工程就是最简单的产生一个表格并向其中写入数据。用Xcode 4.2打开它,在这个工程基础上实现以上操作。(包含截图)
但有时候系统现有的功能并不能完全满足我们的开发需求,这样就需要我们在其现有的功能基础上自定义我们所需要的功能了。下图是在项目中自定义的按钮(只是修改了按钮的frame而已)。 然后我就总结了一下根据不同的...
Swift-UITableView-StoryBoard Swift+UITableView+StoryBoard Swift 语言的简单测试(无 Objective-C) UIButton 以编程方式GDC(大调度中心)tnx 到 Dimitri Giani :) UI控件事件按钮目标字典和数组准备继续用户...
IOS开发-TableView表视图基础 源码下载 http://blog.csdn.net/lmnotlm/article/details/9035481
UITableView-DXTemplateLayoutCell 来自 1.3 的基础 提交 用于自动计算 UITableViewCell 高度的模板自动布局单元格。 UITableView-FDTemplateLayoutCell 的 Swift 版本
在常见的iOS开发中, UITableView已成为构建具有重复元素的丰富页面的基础。 此页面例如: (对,他帮助我创建了此示例页面的设计! :beaming_face_with_smiling_eyes: ) 尽管如此,使用UITableView还是有其自身...