Ios6 iSearchBar不接受键盘输入,但在iOS 6上接受Siri输入

Ios6 iSearchBar不接受键盘输入,但在iOS 6上接受Siri输入,ios6,uisearchbar,uisearchdisplaycontroller,Ios6,Uisearchbar,Uisearchdisplaycontroller,不久前,我写了一个使用导航控制器的应用程序。其中一个推送视图包含一个UISearchDisplayController和一个UISearchBar。该代码在iOS 5上运行得非常好。如果我将其编译为目标iOS 6,当选择搜索栏时,键盘会出现,但搜索栏似乎不接受/接收键盘输入;但是,它确实接受Siri的输入,然后正确执行搜索。无论是否在加载视图时将搜索栏设置为第一响应程序(ViewDidLoad方法),都会发生这种情况。如果我将代码重新编译为目标iOS5,它会再次工作。我遇到了同样的问题。在我的例

不久前,我写了一个使用导航控制器的应用程序。其中一个推送视图包含一个UISearchDisplayController和一个UISearchBar。该代码在iOS 5上运行得非常好。如果我将其编译为目标iOS 6,当选择搜索栏时,键盘会出现,但搜索栏似乎不接受/接收键盘输入;但是,它确实接受Siri的输入,然后正确执行搜索。无论是否在加载视图时将搜索栏设置为第一响应程序(ViewDidLoad方法),都会发生这种情况。如果我将代码重新编译为目标iOS5,它会再次工作。

我遇到了同样的问题。在我的例子中,问题是包含UISearchBar的窗口不是“键窗口”。我通过在应用程序代理的窗口上调用makeKeyWindow解决了这个问题

[[[MyAppDelegate App] window] makeKeyWindow];

我也遇到了同样的问题并找到了解决办法,这对我来说非常有效!这种行为发生在UITextView和UISearchBar上。希望有帮助

较旧的iOS模板并不总是包含这一点——请确保您拥有它,因为它还修复了其他一些琐碎的bug。