iOS之UITableView

UITableViewDelegate协议方法

返回每一行单元格的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

返回分区区头的高度

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

返回分区区角的高度

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

返回分区区头的自定义View(可以使用重用机制)

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

返回分区区脚的自定义View(可以使用重用机制)

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

单元格右侧附件按钮点击时执行的方法

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

将要选中单元格的时候执行的方法

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

不选中单元格执行的方法

- (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath

选中单元格时候执行的方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

取消选中单元格时候执行的方法

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

设置每一个单元格的编辑风格

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

UITableViewCellEditingStyleNone,

UITableViewCellEditingStyleDelete,

UITableViewCellEditingStyleInsert

设置按钮的标题

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

设置单元格是否需要缩排

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath

单元格即将编辑时执行的方法

- (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath

单元格完成编辑时候执行的方法

- (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath

单元格在移动过程中执行的方法

- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath
*)proposedDestinationIndexPath

是否显示菜单的复制粘贴

- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath

UITableViewDataSource协议方法

必须实现:

每个分区有多少行

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

每个单元格的内容(单元格有重用机制,并且可以自定义)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

非必须实现:

有多少分区(默认为1)

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

分区区头标题

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

分区区脚标题

- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section

设置单元格是否可以编辑

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

设置单元格是否可以移动

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

设置表格右侧的索引数组

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView

设置表格的索引和分区的对应关系

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index

提交单元格编辑状态的时候执行的方法(即添加.删除按钮)

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath
*)indexPath

单元格移动的时候执行的方法(从初始位置到目标位置)

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath
*)destinationIndexPath

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 06:13:44

iOS之UITableView的相关文章

IOS之UITableView——如何刷新父页面的Cell

问题:评论数同步 在社交相关的项目中经常有这样的主页面,主列表的Cell中有赞数,评论数,详情页顶部也是同样的一个Cell,下部有评论列表,评论增加或减少,详情页的评论数随之改变,返回主列表,主列表的对应的Cell中评论数却没改变.怎么同步呢. 解决方案:详情页的Cell刷新时,发送通知,主列表监听通知,通知的回调方法只要执行tableview reloaddata即可 IOS之UITableView--如何刷新父页面的Cell

iOS开发 UITableView的方法和属性总结

本文描述UITableView的各种方法,属性,委托以及数据源.本文的目的只是总结UITableView的用法,详细的例子另撰文描述. 1 数据源  UITableViewDataSource协议 01 返回组(节)的个数,默认是返回1,如果只有1组数据,可以不用实现该方法. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 02 返回某一组的行数,该组由section的值决定 - (NSInteger)table

IOS开发UITableView性能应用技巧TableViewCell的重用

?iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存.要解决该问题,需要重用UITableViewCell对象??重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用.当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象

iOS学习——UITableView(一)

哈哈哈,初次写写博客.来记录记录我学习iOS过程中的学到的一些东西,并不想照搬书上的文字内容,仅是写写我自己的学习记录.各位随便看看. iOS的UITableView是开发中用得最广泛的控件,像微信.各种新闻.知乎日报等app的主体差不多就是它了,手机自带的通讯录.短信等也使用了它.可以看出它的功能很强大,用途广泛,在书上学习都要用好几章,我也不打算一口气写完,想分成几篇来记录. UITableView的功能主要是用于显示数据列表,可以显示很多行数据,不过它的列只有一列(有多列的列表视图UICo

iOS programming UITableView and UITableViewController

iOS programming? UITableView and UITableViewController A UITableView displays a single column of data with a variable number of rows. UITableView 展示单列数据和不定数量的行. ? ?Create a new iOS Empty Application project and configure it 1.1 UITableViewController

IOS 自定义UITableView

根据不同需要,需要使用tableview的结构,但是里面每一个cell,又需要自己的样式,所以学习了一下怎样把自己定义的cell加到tableview里面 首先要自己创建一个类,继承UITableViewCell,然后新建一个空的xib文件,并在class属性设置为对应的类名 代码部分: <pre name="code" class="objc"> #import "SettingViewController.h" #import &

iOS 编辑UITableView(根据iOS编程编写)

上个项目我们完成了 JXHomepwner 简单的应用展示,项目地址.本节我们需要在上节项目基础上,增加一些响应用户操作.包括添加,删除和移动表格. 编辑模式 UITableView 有一个名为  editing 的属性,如果将其设置为  YES , UITableView 就会进入编辑模式.在编辑模式下,用户可以管理 UITableView 中的表格行,我们可以添加.删除和移动等操作.但是编辑模式没有听过修改行的内容的功能. 首先要更新界面,使用户可以将 UITableView 对象设置为编辑

iOS之UITableView带滑动操作菜单的Cell

制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views 原作者:Ellen Shapiro Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Ce

【iOS】UITableview cell 顶部空白的n种设置方法

我知道没人会主动设置这个东西,但是大家一定都遇到过这个问题,下面总结下可能是哪些情况: 1, self.automaticallyAdjustsScrollViewInsets = NO; 这个应该是最常见而且不容易被发现的原因,起因是iOS7在Conttoller中新增了automaticallyAdjustsScrollViewInsets这个属性,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scr

10.ios之UITableView

什么是UITableView ?在众多移动应用中,能看到各式各样的表格数据 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UITableView的两种样式 如何展示数据 ?UITableView需要一个数据源(dataSource)来显示数据 ? ?UITableView会向数据源查询一共有多少行数据以及每一行显示什么数据等 ? ?没有设置数据源的UITableView只是个空壳