我想在键盘出现时向上移动视图,并在键盘消失时将视图移回。我为此使用了一个滚动视图。将scrollview移动到原始状态
我有这个几乎工作。我有这个bug是这样的:
- 你触发键盘显示
- 你触发键盘隐藏
生活还算不错至今。
- 您触发键盘显示
- 你触发键盘隐藏< - 这不工作了,但是它第一次完美的作品。
当键盘显示出来的代码(这个超时工作):
func keyboardWasShown(notification: NSNotification) {
var userInfo = notification.userInfo!
let keyboardFrame:CGRect = (userInfo[UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue
let buttonOrigin: CGPoint = btn.frame.origin
let buttonHeight: CGFloat = btn.frame.size.height
var visibleRect: CGRect = view.frame
visibleRect.size.height -= keyboardFrame.size.height
if !visibleRect.contains(buttonOrigin) {
let scrollPoint = CGPoint(x: CGFloat(0.0), y: CGFloat(buttonOrigin.y - visibleRect.size.height + (buttonHeight + 8)))
scrollView.setContentOffset(scrollPoint, animated: true)
}
}
的键盘时,将隐藏(此代码工作第一次的代码,这是行不通的第二时间):
func keyboardWillBeHidden(notification: NSNotification){
var info = notification.userInfo!
let keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size
let contentInsets : UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, -keyboardSize!.height, 0.0)
self.scrollView.contentInset = contentInsets
self.scrollView.scrollIndicatorInsets = contentInsets
self.view.endEditing(true)
self.scrollView.isScrollEnabled = false
}
夏娃当键盘显示时需要向上移动。动起来的作品:
尝试使用该吊舱'IQKeyboardManagerSwift'is真棒 –