KeyboardDismissMode崩溃了应用程序

时间:2014-03-10 06:16:12

标签: objective-c ios7 uiscrollview keyboard uitextfield

所以,我有我的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];

所以,我的问题是:这个功能现在真的很麻烦,或者我在这里做错了什么? 谢谢。

0 个答案:

没有答案