iso UITableViewDataSource 和 UITableViewDeleg协议中常
iso UITableViewDataSource 和 UITableViewDeleg协议中常
xiahuawuyu 发表于2年前
iso UITableViewDataSource 和 UITableViewDeleg协议中常
  • 发表于 2年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 当不需要继承 tabviewController需要实现这两个协议(UITableViewDataSource 和 UITableViewDeleg)

UITableViewDataSource 协议中常用方法

1.设置右边 索引值

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

2. 设置分组标识

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

3.

设置分组个数

- ( NSInteger )numberOfSectionsInTableView:( UITableView

*)tableView

4. 设置行数

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

5. 创建

cell(使用重用机制,如下例)

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

*)indexPath

{

a.

创建重用标识符

static NSString *identifier = @"reuse”;
b. 去重用队列中根据标识符取可重用的 cell  

AddressBookCell *cell = [tableView dequeueReusableCellWithIdentifier :identifier];     

c. 判断是否获取到可重用的 cell( 最后要空间释放 )    

if (!cell) {     

cell = [[[ AddressBookCell alloc ] initWithStyle : UITableViewCellStyleDefault reuseIdentifier :identifier] autorelease ];   

}

return cell;

}

6. 设置 tableView 的每一行的编辑状态

(YES,可编辑)

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

*)indexPath

{

return YES

}

7.edit 按钮的点击事件 ( 当点击 edit 按钮时触发 )

- ( void )setEditing:( BOOL )editing animated:( BOOL )animated

8. 当提交编辑操作时触发

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

9. 设置 tableView 每一行是否允许移动(YES,可移动)

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

{

return YES

}

10. 提交移动操作之后触发

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

UITableViewDelegate协议中常用方法

1. 设置行高

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

{

return 55;

}

2. 选中cell时触发

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

3. 设置 tableViewCell 的编辑样式 ( 插入 / 删除 )

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

4. 设置当点击编辑按钮时 上面显示的文字,如显示删除

- ( NSString *)tableView:( UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:( NSIndexPath *)indexPath NS_AVAILABLE_IOS ( 3 _0) {    return @" 删除 " ; }

5. 设置 cell 移动的位置

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



共有 人打赏支持
粉丝 101
博文 610
码字总数 713018
×
xiahuawuyu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: