我想模仿UITableViewCell中iOS 8邮件应用程序中的滑动删除功能。我指的不是滑动以显示删除按钮,而是当您滑动时,它会显示3个操作,但如果继续向左滑动,则会删除电子邮件。
在iOS 8中,UITableView有一个新方法,可以提供要显示任意数量按钮的数据:
在iOS 8中,UITableView有一个新方法,可以提供要显示任意数量按钮的数据:
#ifdef __IPHONE_8_0
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewRowAction *viewStackRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Stack" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
SM_LOG_DEBUG(@"View Stack Action");
}];
viewStackRowAction.backgroundColor = [UIColor radiusBlueColor];
UITableViewRowAction *viewUserRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"User" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
SM_LOG_DEBUG(@"View User Action");
}];
viewUserRowAction.backgroundColor = [UIColor radiusLightBlueColor];
UITableViewRowAction *deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
SM_LOG_DEBUG(@"Delete");
}];
deleteRowAction.backgroundColor = [UIColor redColor];
return @[deleteRowAction, viewUserRowAction, viewStackRowAction];
}
#endif
我没有看到任何用于检测连续滑动的API。我在UITableView.h中搜索了8_0,上述方法似乎是唯一的新方法。
我想可以监视滚动视图偏移量,或添加/劫持UIPanGestureRecognizer。我只想确保使用默认方式,如果有的话(并获得“免费”的动画效果)。