我需要在OpenGL ES应用程序中进行键盘输入,因此我只创建了一个隐藏的UITextField并将其作为子视图添加到主窗口中,并显示了我的内容。我使用UITextField来控制键盘,并且在单个方向上都可以正常工作。

然后,我根据UIDeviceOrientation通知自行旋转OpenGL内容,从而更改了代码以支持所有方向。要旋转键盘,我覆盖了UITextField控制器中的shouldAutoRotateInterfaceOrientation方法,并为所有方向返回YES。但是我仍然看到键盘没有根据方向旋转。

有什么线索吗?

最佳答案

我通过将UITextField添加到第二个隐藏窗口并将该窗口作为子视图添加到主窗口中来解决了此问题。不知道这是否可以接受,但似乎可以解决我的问题。

更新:自iOS 4.0将隐藏的窗口添加为keyWindow的子视图以来,似乎会破坏事情。如果将其发送到后台,然后发送到前台,然后发送到后台,最后发送到前台,则应用程序崩溃。因此,只需将隐藏的窗口悬空,它仍然可以工作。

10-08 06:10
查看更多