滑动删除 UITableView 中的单元格时如何禁用 UITextView?

How do I disable a UITextView when swiping to delete a cell in a UITableView?

我有一个带有自定义单元格的 UITableView。每个单元格都有一个 UIImageview 和一个 UITextView。当点击 UITextView 时,键盘出现,textView 边框高亮显示。

这很好,但只有当用户打算在 UITextview 中输入内容时才可以。当用户滑动删除单元格时,我的问题就来了。基本上当用户滑动时,因为textView占据了一半的cell,所以cell在滑动的同时被点击了。

所以当删除按钮出现在单元格上时,键盘已经出现并且 textView 的边框突出显示。

我想做的是在滑动开始后立即 resignFirstResponder 或 endEditing。

我已经尝试过:

canEditRowAtIndexPath 和 commitEditingStyle

然而没有效果。我什至尝试过禁用用户交互,但效果也为零。

如何在滑动时禁用 uitextview?

提前致谢。

你应该尝试在 tableView(_:willBeginEditingRowAtIndexPath:)

This method is called when the user swipes horizontally across a row; as a consequence, the table view sets its editing property to true (thereby entering editing mode) and displays a Delete button

它是一个 UITableView 委托方法。 参考: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:willBeginEditingRowAtIndexPath: