2015-08-31 14 views
1

我有一个错误,当显示键盘和预测文本框在顶部的键盘会切换视图,从而留下黑屏的用户。发生这种情况的原因是因为我使用了 - =运算符,这会在每次调用此方法时合并此值。这种方法可以连续调用多次。我试图找到一种方法来处理这个问题。显示键盘和键盘顶部的预测性文本框切换视图拍摄留下用户黑屏

func getKeyboardHeight(notification: NSNotification) -> CGFloat { 

    let userInfo = notification.userInfo 
    let keyboardSize = userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue 
    return keyboardSize.CGRectValue().height 

} 

func keyboardWillShow(notification: NSNotification) { 

    if bottomTextField.isFirstResponder() { 
     self.view.frame.origin.y -= getKeyboardHeight(notification) 
    } 

} 

func keyboardWillHide(notification: NSNotification) { 

    if bottomTextField.isFirstResponder() { 
     self.view.frame.origin.y += getKeyboardHeight(notification) 
    } 

} 

回答

0

由self.view.frame.origin.y切换 - = getKeyboardHeight(通知)view.frame.origin.y = -getKeyboardHeight(通知),解决了我的问题。

func keyboardWillShow(notification: NSNotification) { 

    if bottomTextField.isFirstResponder() { 
     self.view.frame.origin.y = -getKeyboardHeight(notification) 
    } 

}