1. 程式人生 > >關於IOS11上UItableview側滑刪除無線拉伸的問題

關於IOS11上UItableview側滑刪除無線拉伸的問題

再iOS11上uitableview側滑可以無限拉伸解決辦法,iOS11多了一個方法,直接上程式碼:

- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(nonnull NSIndexPath *)indexPath{

    if (@available(iOS 11.0, *)) {

        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]];

        actions.performsFirstActionWithFullSwipe = NO;

        

        return actions;

    }else{

        return nil;

    }


}