Ios 显示视图后如何向上移动视图?
我有一个视图,其中有一个文本字段。每当用户点击texfield时,就会出现一个键盘,然后我将视图向上移动一点。一切都很好,直到我展示了一个新的viewcontroller然后将其关闭,在我关闭了新的viewcontroller之后,我的旧viewcontroller上出现了一个奇怪的行为,类似这样的事情: 这就像在关闭新的viewcontroller后,在显示键盘之前反弹了一点,这将影响我隐藏键盘时,我的视图将低于其原始位置: 这是我的代码:Ios 显示视图后如何向上移动视图?,ios,swift,view,keyboard,presentviewcontroller,Ios,Swift,View,Keyboard,Presentviewcontroller,我有一个视图,其中有一个文本字段。每当用户点击texfield时,就会出现一个键盘,然后我将视图向上移动一点。一切都很好,直到我展示了一个新的viewcontroller然后将其关闭,在我关闭了新的viewcontroller之后,我的旧viewcontroller上出现了一个奇怪的行为,类似这样的事情: 这就像在关闭新的viewcontroller后,在显示键盘之前反弹了一点,这将影响我隐藏键盘时,我的视图将低于其原始位置: 这是我的代码: override func viewDidLoa
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(sender: NSNotification) {
self.view.frame.origin.y -= 100
}
func keyboardWillHide(sender: NSNotification) {
self.view.frame.origin.y += 100
}
如何修复此问题?您需要尝试类似的方法,您不能总是认为键盘会有那么高,尤其是随着第三方键盘的出现 在
键盘将隐藏
和键盘将显示
中,您需要获得键盘高度,如下所示:
if let keyboardSize = (sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.origin.y += keyboardSize
}
你需要试试这样的东西,你不能总是认为键盘会有那么高,特别是在第三方键盘出现的时候 在
键盘将隐藏
和键盘将显示
中,您需要获得键盘高度,如下所示:
if let keyboardSize = (sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.origin.y += keyboardSize
}
我想这不是问题,我试过了,在解雇我的newviewcontroller后仍然遇到同样的问题。我想这不是问题,我试过了,在解雇我的newviewcontroller后仍然遇到同样的问题