将UIButton移到键盘上方

时间:2015-12-26 03:33:03

标签: ios swift

我正在尝试将我的注册按钮的y原点调整到键盘上方。但是,这段代码没有做到这一点(我没有自动布局约束顺便提一下)

在viewDidLoad中:

// listen for keyboard height
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)

后来我有了这个功能:

// keyboard height adjust
func keyboardWillShow(notification: NSNotification) {

    let keyboardFrame = (notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
    signUpButton.frame.origin.y = keyboardFrame.origin.y - signUpButton.frame.height

}

1 个答案:

答案 0 :(得分:2)

不要看键盘的位置。看看它的高度。您可以假设它将来自屏幕的底部,因此您需要将按钮向上移动到足以使其Y位置<1。 keyboard_height + button_height(我会添加几个像素的空间,这样按钮就不会碰到键盘的边缘.5个像素是最好的。)