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

时间:2015-01-27 09:02:20

标签: ios uitableview swift uiview

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

这很好,但仅当用户打算在UITextview中输入内容时。我的问题出现在用户正在滑动以删除单元格时。基本上当用户滑动时,因为textView占据了单元格的一半,所以在滑动的同时轻敲单元格。

因此,当单元格中出现删除按钮时,键盘出现并且textView的边框突出显示。

enter image description here

一旦滑动开始,我想要做的就是resignFirstResponder或endEditing。

我试过这个:

canEditRowAtIndexPath和commitEditingStyle

然而没有效果。我甚至试图禁用用户交互,这也没有效果。

如何在滑动过程中禁用uitextview?

提前致谢。

1 个答案:

答案 0 :(得分:1)

你应该尝试使用tableView(_:willBeginEditingRowAtIndexPath :)

  

当用户在一行中水平滑动时,将调用此方法;   因此,表视图将其编辑属性设置为true   (从而进入编辑模式)并显示删除按钮

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