2013-01-02 53 views
0

该应用程序具有带有表格视图和UISearchbar的UIView。 Searchbar委托方法位于UIView的视图控制器中。一切都似乎正确地连接起来。UISearchBar无法在IOS 6 Popover中工作

此搜索栏在iOS 5中正常工作,但不在iOS6中正常工作。触摸时,搜索栏会显示键盘,但在键盘上键入没有任何影响; textDidChange委托方法永远不会被调用。

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

很明显,iOS 5和iOS 6之间有些变化,但我一直无法弄清楚在iOS 6弹出窗口中如何使搜索栏工作。

任何帮助将不胜感激!

+0

你可能会在这里找到一些线索(这取决于你的问题的确切性质):http://stackoverflow.com/questions/12447875/keyboard-and-cursor-show-but-i-cant-type-in​​side -uitextfields-and-uitextviews/12504575#12504575 –

+0

谢谢。我曾看过这个,但我的观点不是应用程序的主窗口,所以我看不出如何将其应用于我的情况。最初,我认为这是一个代表问题,但我意识到这是UISearchbar和键盘之间的联系。没有什么会从键盘到搜索栏。 – johnz

+1

我刚刚发现的另一点信息:搜索栏在iPhone上运行应用程序时运行,但不在iPad上运行。不同的是,在iPad上,这个特定的视图在popover中变得流行起来,而在iPad上则不然。在这两个视图都由UINavigationController控制。所以这必须与在popover中运行导航控制器有关,但我想不出为什么会有所作为。 – johnz

回答

0

rokjarc是对的。我有同样的问题。在我的app'SearchBar显示控制器中,SearchBar不响应键盘输入ios6。但在ios5模拟器,ios6模拟器,iPhone 3GS,iPhone 4中没问题。 在MainWindow.xib中, 1.单击“对象”框中的“窗口”图标。 2.显示属性检查器 3.扩展窗口属性。 4.检查“启动时可见”和“启动时全屏” 5.清理构建并运行。 6.很好。好?

0

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

原来你包括这行代码:

[self.window makeKeyAndVisible]; 

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

希望这会有所帮助。

相关问题