我有一个UIGestureRecognizer设置,按下我的UITableView中的任何UITableViewCell,它会将UISearchBar设置为活动状态。一切正常。我可以像往常一样按下单元格和UISearchBar动画。我可以输入字母,点击并按住UITextField并放大到特定的光标位置。我可以点击取消,一切都回到正确的位置。
这就是问题出现的地方。我向下滚动几个单元格(或直到UISearchBar隐藏在UINavigationBar下)并按下单元格以激活UISearchBar。一切似乎都在适当的位置动画,但当我试图点击并按住放大到文本字段上的正确光标时,没有任何反应。我也无法点击取消按钮。奇怪的是,如果我按下UISearchBar的任何部分,它就会成为第一个响应者。
我的目标是能够按照预期与UISearchBar进行交互。如果您知道任何其他选项,我可以告诉我!
提前谢谢!!
我在Programmatically activating UISearchBar blocks user interactions with it
找到答案当显示UISearchBar并且它变为活动状态时,可能会出现计时问题,因此解决方案是延迟激活它。
答案 0 :(得分:0)
因此,当您向下滚动时,由于iOS尝试重用单元格来节省内存,因此tableview实际上没有引用原始单元格。解决这个问题的方法是在cellForIndexPath函数中说if(indexPath.row == 0){cell.contentview addGesture ...}或使用didSelectAtIndexPath函数来指定单击indexPath.row时发生的情况0