我们只是将用户输入放入我们的游戏中,以便用户可以输入电子邮件地址等。整个游戏都是G1,没有iOS UI。 EAGLView不会改变方向,它始终是纵向的,但是游戏是横向的,我们通过相机变换来处理它。
我们想要调出iOS键盘并为文本输入覆盖UITextView。 UITextView是EAGLView的子视图。显然,它和键盘以纵向显示,因为EAGLView是纵向的。
无需将EAGLView更改为横向,有什么方法可以强制UITextView和键盘以横向显示?
如果我确实将EAGLView的方向更改为横向以使其正常工作,那么性能是否有任何影响?我已多次阅读过将GL视图定向到默认纵向视图以外的任何内容都会给性能带来影响,尽管我找不到任何可靠的证据。
谢谢,
答案 0 :(得分:3)
我们认为我们已经为此提出了解决方案。我们正在做两件事,一个用于键盘,另一个用于UITextView。
对于键盘,我们设置状态栏方向。设置后键盘会跟随。
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
为了使UITextView正确定位,我们将变换应用于我们的EAGLView的子视图,在这种情况下只是UITextView,如下所示。
CGAffineTransform aTransform = CGAffineTransformMakeRotation(M_PI / 2);
[glView UpdateSubViewTransforms:aTransform];
这实际上为视图添加了90度旋转。
这已在iPad和iPad上测试过。带有iOS 4.3的iPhone 4和带有iOS 3.13的iPhone 3G。