0

该应用程序有一个带有表格视图的 UIView 和一个 UISearchbar。搜索栏委托方法位于 UIView 的视图控制器中。一切似乎都正确连接。

这个搜索栏在 iOS 5 中可以正常工作,但在 iOS6 中不能。触摸时,搜索栏会调出键盘,但在键盘上打字没有影响;永远不会调用 textDidChange 委托方法。

仅当在 iPad 上运行时才会发生这种情况。iPad 上的视图与 iPhone 上的视图之间的区别在于,带有 UITableView 和 UISearchbar 的 UIView 在 iPad 上的弹出窗口中运行。在 iPhone 上,它作为单独的视图运行。在这两种情况下,一旦打开视图,UINavigationController 就会管理视图。导航控制器的所有上下导航在两种设备中都可以正常工作;唯一的区别是 UISearchBar 不能在弹出窗口中运行。

显然,iOS 5 和 iOS 6 之间发生了一些变化,但我无法弄清楚是什么,或者如何使搜索栏在 iOS 6 弹出窗口中工作。

任何帮助将不胜感激!

4

2 回答 2

0

rokjarc 是对的。我有同样的问题。在我的应用程序“SearchBar 显示控制器”中,SearchBar 不响应 ios6 中的键盘输入。但是在ios5模拟器,ios6模拟器,iPhone 3GS,iPhone 4中就可以了。在MainWindow.xib中,1.点击“对象”框中的“窗口”图标。2. 显示属性检查器 3. 扩展窗口属性。4. 检查“Visible at Launch”和“Full Screen at Launch” 5. 清理构建并运行。6. 好。好的?

于 2013-01-25T15:12:00.867 回答
0

我刚刚得到了我原来问题的答案。我发现在 UITextFields 和 UITextViews 中也发生了同样的事情。我把整个事情都寄给了 Apple 技术支持。

原来你必须包含这行代码:

[self.window makeKeyAndVisible];

在应用程序的委托的 didFinishLaunchingWithOptions: 方法中。当我添加这一行时,问题就消失了。

希望这可以帮助。

于 2013-01-26T15:50:37.833 回答