一, UITableViewDataSource
1,必须实现 设置每个分区的行数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
2,必须实现, 设置每个分区的cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
3,设置分区
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
4,为每个分区设置标题
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
5,为分区设置索引
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
6,设置tableView每行的编辑状态
- (BOOL)tableView:(UITableView *)tableView canEditRowA tIndexPath:(NSIndexPath *)indexPath
7,当提交编辑操作时触发(插入或删除)
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
8,设置tableView每一个cell是否允许移动
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
9,提交移动操作之后触发
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
二, UITableViewDelegate
10,设置行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
11,设置cell选中的事件
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
12,设置tableViewCell的编辑样式
设置tableViewCell的编辑样式(插入删除) - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
13,设置当点击删除按钮时提示的确认文字
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(3_0)
14,设置cell的移动位置
设置cell移动的位置, - (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath
{ //现在移动时只能在本区内移动 //sourceIndexPath 原地址 //proposedDestinationIndexPath将要移动到的地址 if (sourceIndexPath.section == proposedDestinationIndexPath.section) { //如果是同一个分区,返回目的地址 return proposedDestinationIndexPath; } //如果不是同一个分区,返回原来的地址 return sourceIndexPath; }
三,处理编辑操作详细步骤
1,tableView 进入编辑状态 方法(-(void)setEditing:(BOOL)editing animated:(BOOL)animated) 2,设置每一行的编辑状态 方法(- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath) 3,设置每一行的编辑样式(可选) 方法(- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath) 4,处理编辑操作(插入/删除) 方法(- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath)
UITableViewCell两个协议 UITableViewDelegate 和 UITableViewDataSource
原创文章标签 协议 UITableView 文章分类 移动开发
上一篇: 属性与内存管理(属性与内存管理都是相互关联的) 第二部分
下一篇:网络请求
-
Python中两种网络编程方式:Socket和HTTP协议
本文将介绍Python中两种主要的网络编程方式:Socket编程和基于HTTP协议的网络编程,并通过实际案例来演示它们的应用。
Python 网络编程 Socket HTTP协议 -
【ArkTS】鸿蒙开发 比较两个数的大小 用户界面输入两个数并输出较大数
【HarmonyOS】 鸿蒙开发 (比较两个值大小,输出较大值)在DevEco Studio中开发,用户界面输入两个值,比较两个值大小并输出较大值。主要是练习了对TextInput属性的应用。
鸿蒙开发 TextInput属性 用户界面输入 两个值比较大小 ArkTS -
websocket应用的是哪个协议
websocket应用的是哪个协议
HTTP 客户端 数据传输 -
iptables 同时过滤两个协议
iptables 指令语法: iptables [-t table] command [match] [-j target/jump] -
iptables 同时过滤两个协议 封包 IP TCP