前言
本文主要給大家介紹了關于iOS11解決UITableView側滑刪除無限拉伸的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧
- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ ...}
iOS11如果仍然用以上方法處理側滑刪除功能,但是會發(fā)現(xiàn)側滑無限拉伸,然后自動調用刪除方法
iOS11新增了方法
- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(11.0)){ if (@available(iOS 11.0, *)) { NSString *title = @"置頂"; if (indexPath.section == 0) { } else { } UIContextualAction *topAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:title handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { ... // 這句很重要,退出編輯模式,隱藏左滑菜單 [tableView setEditing:NO animated:YES]; completionHandler(true); }]; UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"刪除" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { // 這句很重要,退出編輯模式,隱藏左滑菜單 [tableView setEditing:NO animated:YES]; completionHandler(true); }]; UISwipeActionsConfiguration *actions = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction,topAction]]; // 禁止側滑無線拉伸 actions.performsFirstActionWithFullSwipe = NO; return actions; }else{ return nil; }}
iOS11之前,并不會發(fā)生側滑無線拉伸
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答
圖片精選