【问题标题】:How to get host app screen geometry for iOS 8 custom keyboard inside iPhone app running on iPad?如何在 iPad 上运行的 iPhone 应用程序中获取 iOS 8 自定义键盘的主机应用程序屏幕几何图形?
【发布时间】:2015-03-30 19:12:08
【问题描述】:

“我的自定义”键盘为所有 Apple 设备的每种屏幕分辨率都提供了预设。所以我有 iphone、iphon5、iphone6、iphone6plus 和 ipad 预设。

但如果用户在 iPad 上运行 iPhone 应用程序(如 instagram),我需要加载 iphone 键盘预设并使用其几何形状。

iPhone 6 和 6+ 也可以使用拉伸模式,当应用程序像 iPhone 5 应用程序一样运行时被拉伸。

因此确定UI_USER_INTERFACE_IDIOM 不是解决方案。 键盘扩展和主机应用程序可以以不同的方式查看屏幕几何图形,所以我被困在这里。至少需要为宿主应用程序获取应用程序框架或任何其他显式方式来获取该几何体。

应用和键盘扩展以不同的方式查看几何图形:

在 ipad 屏幕上的 iphone 应用程序内部运行时,Swift 键似乎也有相同的错误。

ipad 上 iphone 应用内的 Swiftkey:

【问题讨论】:

    标签: ios ios8 uiapplication custom-keyboard uiscreen


    【解决方案1】:

    我刚刚找到了一种在键盘扩展上检查 isPad 的方法,但我无法确定这是最好的方法。

    UI_USER_INTERFACE_IDIOM() && YourKeyboardViewController.instance.view.bounds.size.width == UIScreen.mainScreen.bounds.size.width

    您应该在 YourKeyboardViewController.instance 调用 viewWillAppear() 之后执行此操作,之后 view.bounds 确实从 768x1024 更改为 320x480。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      相关资源
      最近更新 更多