Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios “快速查看”;“反弹”;在键盘上关闭_Ios_Swift_Keyboard_Hide_Show - Fatal编程技术网

Ios “快速查看”;“反弹”;在键盘上关闭

Ios “快速查看”;“反弹”;在键盘上关闭,ios,swift,keyboard,hide,show,Ios,Swift,Keyboard,Hide,Show,我正在编写一个应用程序,用户必须在文本框中键入一个单词,然后按下一个按钮,查看他们是否输入了正确的单词。当用户点击文本框时,我希望视图向上移动,这样键盘就不会阻挡任何东西。我使用下面的代码来完成这个转换,并在键盘被关闭后返回到下一个转换 override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. NSNotificationCe

我正在编写一个应用程序,用户必须在文本框中键入一个单词,然后按下一个按钮,查看他们是否输入了正确的单词。当用户点击文本框时,我希望视图向上移动,这样键盘就不会阻挡任何东西。我使用下面的代码来完成这个转换,并在键盘被关闭后返回到下一个转换

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    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) {

    var info:NSDictionary = sender.userInfo!
    var keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as! NSValue).CGRectValue()

    self.view.frame.origin.y -= (keyboardSize.height)
}

func keyboardWillHide(sender: NSNotification) {

    var info:NSDictionary = sender.userInfo!
    var keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as! NSValue).CGRectValue()

    self.view.frame.origin.y += (keyboardSize.height)
}

我遇到的问题是,当用户显示键盘并按下按钮时,键盘被关闭,然后视图被移动

以便确认发生了什么,当您按下按钮时,键盘被关闭,但您希望键盘留在那里吗?或者只是视图停留在那里?那么发生的是键盘关闭…延迟…然后视图移到原来的位置?@Dustin没错,键盘关闭,然后有延迟,然后视图快速移到屏幕底部以下的部分位置,然后返回到正常位置。id使用约束而不是设置帧来移动视图。此外,您还可以在keyboardWillHide和keyboardDidHide周围玩游戏,或者延迟同步这些动作。我认为反弹是由于帧与约束。我使用你的代码,它对我来说非常适合。所以谢谢你。。。为你的问题感到抱歉