所以,我有我的UItableView,我将数据从Web获取到某个数组并在tableView中显示它。此外,我有一个UITextField基本上像这个tableView的搜索栏。您在此文本字段中键入文本,单击搜索并生成tableView表。
问题在于:我尝试实现iOS 7中提供的新功能 - keyboardDimissMode在滚动启动时隐藏键盘,但只有当我有几十个单元格时才能正常工作(基本上,如果我有多个单元格)一个屏幕)。如果我没有结果,或者只有2-3个结果并且我的键盘在屏幕上,然后我开始向下滚动屏幕 - 应用程序立即崩溃并发生sigabrt错误。
如果我在故事板中使用复选框或输入类似
的内容,则无关紧要self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
无论如何它都会崩溃。
如果我这样做旧样式,就像这样
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
[searchBar resignFirstResponder];
}
然后它工作得很好。 当发生这种情况时,它甚至不会转到cellForRowAtIndexPath或类似的东西,只是立即崩溃。
还有更多:我还试图实现UIScrollViewKeyboardDismissModeInteractive模式 - 键盘根本不会因为触摸而被解雇。
但是,如果我这样做,再次,旧式 - 工作没有任何问题。像这样:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
tap.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:tap];
所以,我的问题是:这个功能现在真的很麻烦,或者我在这里做错了什么? 谢谢。