不同的.xib适用于不同的屏幕尺寸和外观? - iOS 8键盘扩展

时间:2014-09-20 15:38:51

标签: ios keyboard ios8 ios-app-extension uiinputviewcontroller

我的问题: 我正在尝试为iOS 8开发一个自定义键盘。我得到了按钮,所有这些,但我想知道如何做不同的设置,无论是iPad还是iPhone,以及如何当键盘应该亮或暗时改变外观。我可以为所有东西获得.xib,还是有某种技巧?

示例:
.xib for iPad键盘人像灯
.xib for iPad键盘景观灯
.xib for iPad Keyboard Portrait Dark
.xib for iPad键盘风景黑暗
.xib for iPhone键盘人像灯
等等等......


我想你可以通过这种方式检查键盘的外观,然后相应地更改按钮的图像,但是iPad上的不同键盘(不同的布局)就是我的问题......

if (self.textDocumentProxy.keyboardAppearance == UIKeyboardAppearanceDark) {

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要通过查看keyboardAppearance中的textDidChange(textInput: UITextInput)来更改键盘主题。只需遍历所有按钮并应用适当的文本/背景颜色。

我决定为键盘使用单个.xib文件。你可以使用Regular w Regular h size class来优化iPad,但你不能在横向优化iPhone,因为它在纵向上总是相同的(Compact w Compact h)。所以我在viewDidLayoutSubviews设置了我的键盘以检测键盘的高度和宽度,然后我将这些值与特征集合大小类一起使用,以优化那些不同的屏幕尺寸和方向。您也可以创建许多不同的xib,如果您可以使用单个xib,我不会推荐它。