码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发之cell多按钮

时间:2015-12-06 20:46:22      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

iOS开发经常出现cell需要多个按钮,一般以为要导入第三方框架。但其实iOS 8以后,系统提供了UITableViewRowAction以及新的delegate方法,使得自定义一些操作变得非常容易。诸如置顶,删除,修改,更多,收藏等按钮。

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{

// 添加一个置顶按钮

    UITableViewRowAction *topRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"置顶" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

        NSLog(@"点击了置顶按钮");

        // 1. 更新数据

        [_diarary exchangeObjectAtIndex:indexPath.row withObjectAtIndex:0];

        // 2. 更新UI

        NSIndexPath *firstIndexPath = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];

        [tableView moveRowAtIndexPath:indexPath toIndexPath:firstIndexPath];

    }];

 topRowAction.backgroundColor = [UIColor redColor];//可自定义按钮颜色

}

由此可添加任意多个按钮。要确保这个代码生效,还需要实现commitEditingStyle这个delegate方法,哪怕里面什么也不写。

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

}

 切记:添加多组按钮后,系统自带的删除按钮将不存在,需自己重写。

 

 
 

iOS开发之cell多按钮

标签:

原文地址:http://www.cnblogs.com/wniruoanhao/p/5024228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!