1

在 iPad 上使用 iPhone 应用程序时,键盘扩展只能知道 iPad 的屏幕尺寸,但实际上我应该知道它就像在 iPhone 上运行一样,并且得到像 iPhone 一样的尺寸。

我当前的代码在 iPad 上的 iPhone 应用程序中运行,如下所示:

在此处输入图像描述

4

3 回答 3

0

viewDidAppearUIInputViewController,我实际上可以得到 的帧self.inputView,在这种情况下是 320。

但是,self.viewandself.inputView的框架都CGRecteZeroviewDidloadorviewWillAppear中,这就是为什么我们应该只在[super viewDidAppear].

于 2014-09-26T04:08:41.803 回答
0

在 UIInputViewController 的 viewDidLayoutSubviews 中调用 [super viewDidLayoutSubviews] 后,可以立即查看键盘视图(self.view.frame)的实际大小。它是第一个检查大小的地方,比 viewDidAppear 快得多。

于 2015-05-10T15:34:08.937 回答
0

您的键盘扩展应该是通用的,如果是这样,那么您可以使用以下代码获取设备类型(iPhone/iPad)。

let isPad = UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad 

您可能正在使用以下方法来获取屏幕边界

UIScreen.mainScreen().bounds.size

该方法给出了设备的整个高度,键盘扩展的宽度。

您可以通过使用上述两个条件来使用嵌套条件来解决您的问题。

于 2015-05-11T13:35:15.910 回答