【问题标题】:Forcing keyboard and sub-view orientation on iOS (iPad / iPhone)在 iOS (iPad / iPhone) 上强制键盘和子视图方向
【发布时间】:2011-03-31 12:30:50
【问题描述】:

我们只是将用户输入放入我们的游戏中,以便用户可以输入电子邮件地址等。整个游戏是 Gl,根本没有 iOS UI。 EAGLView 不会改变方向,它始终是纵向的,但是游戏是横向的,我们通过相机变换来处理。

我们想调出 iOS 键盘并为文本输入覆盖一个 UITextView。 UITextView 是 EAGLView 的子视图。显然,它和键盘以纵向显示,因为 EAGLView 是纵向的。

无需将 EAGLView 更改为横向,有什么方法可以强制 UITextView 和键盘以横向显示?

如果我确实将 EAGLView 的方向更改为横向以使其正常工作,是否会影响性能?我已经读过好几遍了,将 GL 视图定向到默认纵向视图以外的任何位置都会对性能造成影响,尽管我找不到任何确凿的证据。

谢谢,

【问题讨论】:

  • 从未听说过这种性能冲击——不过很有趣。证据或它从未发生过;)
  • 在 plist 中只强制横向向上或向下方向是否有帮助。

标签: iphone ipad uitextview eaglview


【解决方案1】:

我们认为我们已经为此提出了解决方案。我们正在做两件事,一件用于键盘,另一件用于 UITextView。

对于键盘,我们正在设置状态栏方向。设置后键盘跟随。

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

为了让 UITextView 正确定向,我们对 EAGLView 的子视图应用了变换,在这种情况下,它只是 UITextView,如下所示。

    CGAffineTransform aTransform = CGAffineTransformMakeRotation(M_PI / 2);
    [glView UpdateSubViewTransforms:aTransform];        

这实际上为视图添加了 90 度旋转。

这已在装有 iOS 4.3 的 iPad 和 iPhone 4 以及装有 iOS 3.13 的 iPhone 3G 上进行了测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2011-03-14
    • 2011-09-04
    • 2013-02-20
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多