簡體   English   中英

如何更改iOS自定義鍵盤的高度?

[英]How do I change height of iOS custom keyboard?

我一直在研究iOS自定義鍵盤(在.xib文件中),但我無法在故事板中更改高度。 有沒有辦法在故事板中更改鍵盤的高度,還是我必須找到一種以編程方式進行操作的方法?

這是Apple文檔建議的解決方案:

您可以使用“自動布局”調整自定義鍵盤主視圖的高度。 默認情況下,根據屏幕大小和設備方向,自定義鍵盤的大小可與系統鍵盤匹配。 系統始終將自定義鍵盤的寬度設置為等於當前屏幕寬度。 要調整自定義鍵盤的高度,請更改其主視圖的高度約束。

 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來做到這一點。

你想要查看這個網站。 它提供了很多信息! 自定義鍵盤

在iOS 9中向UIInputView類添加了屬性allowsSelfSizing ,默認為NO 設置為YES ,iOS不會添加高度約束,這等於默認鍵盤的高度。 在這種情況下,您負責提供足夠的約束來確定高度(因此至少需要一個子視圖)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM