触摸文本区域时,UISearchDisplayController不显示键盘

时间:2012-02-06 07:28:05

标签: objective-c ios cocoa-touch ios5

我在控制器中有UITableView嵌套在UITabBar下。

到目前为止,Interface Builder中的所有交互都已连线,在视图切换方面没有以编程方式完成。

我添加了一个UISearchDisplayController作为我的UITableView的标题。它显示正常,当我点击文本输入区域时,出现取消按钮,黑色覆盖层飞入。

然而,键盘从不出现,当点击取消按钮时,叠加层飞出并取消按钮消失,但文本输入区域保持对焦并且插入符号在那里保持闪烁,因此我无法再次点击那里重新显示搜索结果。

基本上我有两个问题:

  1. 从UISearchDisplayController开始在UISearchBar上编辑文本时,键盘不显示

  2. 点击取消按钮时,UISearchBar不会失去焦点。

  3. 我做错了什么?

2 个答案:

答案 0 :(得分:1)

包含我标签栏的.xib文件包含UIWindow。

这导致各种各样的疯狂,最后我放弃了尝试使用界面构建器执行此操作,并使用代码构建UITabBar,从而不创建第二个UIWindow。

这解决了问题,UISearchDisplayController表现正常。

答案 1 :(得分:0)

UISearchBarDelegate

中查看此方法
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar;

尝试查看是否要调用它并在此处执行与键盘相关的删除操作。如果没有,请尝试制作另一个UISearchDisplayController。 (我实际上从不使用默认的viewController)。另外,请确保正确设置了委托。