我有一个高度动态的文本视图。当用户添加或删除文本时,文本视图的高度会改变。
我的问题是,当用户添加文本并且文本视图增长时,它会消失在键盘后面。我已成功移动了视图以在键盘出现时隐藏文本视图,但我似乎无法弄清如何在高度改变时将其保持在键盘之上。非常感谢任何帮助!
移动视图的函数在键盘出现和消失时:
我的问题是,当用户添加文本并且文本视图增长时,它会消失在键盘后面。我已成功移动了视图以在键盘出现时隐藏文本视图,但我似乎无法弄清如何在高度改变时将其保持在键盘之上。非常感谢任何帮助!
移动视图的函数在键盘出现和消失时:
func keyboardWillShow(sender: NSNotification) {
let info: NSDictionary = sender.userInfo!
let value: NSValue = info.valueForKey(UIKeyboardFrameBeginUserInfoKey) as! NSValue
let keyboardSize: CGSize = value.CGRectValue().size
let contentInsets: UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardSize.height + 20, 0.0)
scrollView.contentInset = contentInsets
var aRect: CGRect = self.view.frame
aRect.size.height -= keyboardSize.height
let activeTextFieldRect: CGRect? = activeItemRect()
let activeTextFieldCentre: CGPoint? = CGPointMake(CGRectGetMidX(activeTextFieldRect!), CGRectGetMidY(activeTextFieldRect!))
if (!CGRectContainsPoint(aRect, activeTextFieldCentre!)) {
scrollView.scrollRectToVisible(activeTextFieldRect!, animated:true)
}
}
func keyboardWillHide(sender: NSNotification) {
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
scrollView.contentInset = contentInsets
}