【问题标题】:How do I change height of iOS custom keyboard?如何更改 iOS 自定义键盘的高度?
【发布时间】:2015-04-18 22:20:23
【问题描述】:

我一直在开发 iOS 自定义键盘(在 .xib 文件中),但我无法更改情节提要中的高度。有没有办法在情节提要中更改键盘的高度,还是我必须找到一种以编程方式进行的方法?

【问题讨论】:

    标签: ios objective-c ios8 keyboard


    【解决方案1】:

    这是我的解决方案,Apple Documentation 建议:

    您可以使用自动布局调整自定义键盘主视图的高度。默认情况下,自定义键盘的大小会根据屏幕大小和设备方向与系统键盘匹配。自定义键盘的宽度始终由系统设置为等于当前屏幕宽度。要调整自定义键盘的高度,请更改其主视图的高度约束。

     override func viewWillAppear(animated: Bool) {
        let desiredHeight:CGFloat!
        if UIDevice.currentDevice().userInterfaceIdiom == .Phone{
                desiredHeight = 259
        }else{
            if UIDevice.currentDevice().orientation == .Portrait{
                desiredHeight = 260
            }else {
                desiredHeight = 300
            }
        }
        let heightConstraint = NSLayoutConstraint(item: view, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant: desiredHeight)
        view.addConstraint(heightConstraint)
    
    }
    

    文档说,你可以在布局后调整你的键盘高度,所以你可以使用viewWillAppear来做到这一点。

    【讨论】:

      【解决方案2】:

      你会想看看这个网站。它提供了很多信息! custom keyboard

      【讨论】:

      • 那么唯一的方法就是以编程方式?
      • 看来只有这样了
      【解决方案3】:

      在 iOS 9 中向 UIInputView 类添加了属性allowsSelfSizing,默认为NO。当设置为YES 时,iOS 不会添加高度约束,它等于默认键盘的高度。在这种情况下,您有责任提供足够的约束来确定高度(因此至少需要一个子视图)。

      【讨论】:

        猜你喜欢
        • 2014-10-18
        • 2017-01-30
        • 1970-01-01
        • 1970-01-01
        • 2020-10-13
        • 2014-11-15
        • 1970-01-01
        • 2019-08-23
        • 1970-01-01
        相关资源
        最近更新 更多