• UITableView 协议中常用的方法


    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

     

    {

    1.

    创建重用标识符

     

    static NSString *identifier = @"reuse”

    ;

     

    2. 去重用队列中根据标识符取可重用的 cell  

    AddressBookCell *cell = [tableView dequeueReusableCellWithIdentifier :identifier];     

    3. 判断是否获取到可重用的 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

     

     

  • 相关阅读:
    gitlabrunner之坑
    [最佳实践] quarkus编译二进制可执行文件
    coredns周期性,偶尔无法访问指定的内部域名
    滚动备份最近x天数据
    !!危险Windows CMD 大风起
    echo e ANSI控制设置字体格式中里面的字符串如果有任意位置的两个感叹号!!,则会执行异常 大风起
    检查和管理Windows的常用命令 大风起
    从服务间的一次调用分析整个springcloud的调用过程(一)
    从服务间的一次调用分析整个springcloud的调用过程(二)
    从服务间的一次调用分析整个springcloud的调用过程(三)
  • 原文地址:https://www.cnblogs.com/crazygeek/p/5411369.html
Copyright © 2020-2023  润新知