有没有办法在iOS中调整键盘高度?

时间:2018-01-20 05:31:21

标签: ios swift

我想在iOS中更改小数点键盘高度。我得到高度差b / w默认键盘高度和十进制键盘键盘。

func resizeKeyboard(note: NSNotification){
    let userInfo = note.userInfo!
    let duration = userInfo[UIKeyboardAnimationDurationUserInfoKey] as! Double
    let curve = userInfo[UIKeyboardAnimationCurveUserInfoKey] as! UInt

    var frameEnd = self.view .convert(((userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue), from: nil)

    if note.name == NSNotification.Name.UIKeyboardWillShow{
         Keyboard appears
         desiredHeight = 260
    }else if note.name == NSNotification.Name.UIKeyboardWillHide{
         Keyboard hides
         desiredHeight = 260
    }

    self.heightConstraint.constant = desiredHeight
    self.view .setNeedsLayout()

    UIView.animate(withDuration: duration, delay: 0, options: UIViewAnimationOptions(rawValue: curve), animations: {
        self.view .setNeedsLayout()
    }, completion: nil)
}

1 个答案:

答案 0 :(得分:0)

您无法更改系统键盘的高度,正如documentation所说,这并不总是相同:

  

您应始终将这些通知中的信息用作   反对假设键盘是特定尺寸或在   特定的位置。键盘的大小不能保证   从一种输入方法到另一种输入方法也是一样   不同版本的iOS。

这意味着您的代码需要查看UIKeyboardFrameEndUserInfoKey以确定实际的键盘高度,并调整/滚动其余的UI以适应它。