我在UITableView(Controller)中放置了一些带有自定义单元格的UITextViews,我遇到了一个问题。用户可以在导航栏中点击“编辑”按钮将表格设置为编辑模式 - 每个自定义单元格都有自己的方式启用其各个UITextViews进行文本输入。这很好。
我遇到的问题是,如果焦点位于文本视图上,当用户点击“完成”时,该视图会滚动到视图之外,键盘将保留,文本视图将保持编辑模式。如果文本视图在视图中,则不会发生这种情况。更具体地说 - 我正在看的单元格位于屏幕的顶部,如果它在iPhone屏幕上方滚动,它将表现得很有趣。当表格底部的textview被滚动出来时,我似乎没有同样的问题。
我已经完成了我能想到的每一个排列,以便让第一响应者辞职,但在我看来,隐藏的textview不会获取/发送任何消息(甚至任何委托方法),直到它重新回到屏幕或其他一些文本视图获得焦点。
我错过了什么?
答案 0 :(得分:1)
在这一天的大部分工作中,这是我学到的:
这是我找到的解决方案:( UISearchBar and resignFirstResponder):
*调用[self.tableView endEditing:YES]
会导致所有视图都退出第一响应者,这意味着我的UITextView不再被选中。我不确定它为什么会这样工作,但是出现setEditing:被发送到每个单元格&相应地重新绘制。