Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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 UIKeyboardWillHideNotification动画中的延迟_Ios_Swift_Nsnotificationcenter_Uikeyboard - Fatal编程技术网

Ios UIKeyboardWillHideNotification动画中的延迟

Ios UIKeyboardWillHideNotification动画中的延迟,ios,swift,nsnotificationcenter,uikeyboard,Ios,Swift,Nsnotificationcenter,Uikeyboard,我已经注册了两个UIKeyboardNotification(keyboardWillShow和keyboardWillHide),两个都被触发。当textfield移回原始位置的动画仅在键盘消失后触发时,问题就出现了。是否有任何方法可以减少收到通知和设置文本字段动画之间的延迟 func keyboardWillShow(notification: NSNotification) { let info = notification.userInfo! let keyboardFr

我已经注册了两个UIKeyboardNotification(keyboardWillShow和keyboardWillHide),两个都被触发。当textfield移回原始位置的动画仅在键盘消失后触发时,问题就出现了。是否有任何方法可以减少收到通知和设置文本字段动画之间的延迟

func keyboardWillShow(notification: NSNotification) {
    let info = notification.userInfo!
    let keyboardFrame : CGRect = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
    duration = (info[UIKeyboardAnimationDurationUserInfoKey]?.doubleValue)
    let rawAnimationCurve = (notification.userInfo![UIKeyboardAnimationCurveUserInfoKey] as! NSNumber).unsignedIntValue << 16
    animationCurve = UIViewAnimationOptions(rawValue: UInt(rawAnimationCurve))
    let moveAmount = keyboardFrame.height
    UIView.animateWithDuration(duration!, delay:0, options: animationCurve, animations: {
        self.txtfield.transform = CGAffineTransformMakeTranslation(0.0, -self.moveAmount)
        }, completion:nil)
}

func keyboardWillHide(notification: NSNotification) {
        UIView.animateWithDuration(duration, delay:0, options:animationCurve, animations: {
            self. txtfield.transform = CGAffineTransformMakeTranslation(0.0, 0.0)
            }, completion:nil)
}
func键盘将显示(通知:NSNotification){
让info=notification.userInfo!
让keyboardFrame:CGRect=(info[UIKeyboardFrameEndUserInfoKey]为!NSValue).CGRectValue()
持续时间=(信息[UIKeyboardAnimationDurationUserInfoKey]?.doubleValue)

让rawAnimationCurve=(notification.userInfo![UIKeyboardAnimationCurveUserInfo]作为!NSNumber)。unsignedIntValue意识到一个问题,这是我的一个粗心错误

增加:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(viewController.keyboardDidHide), name: UIKeyboardWillHideNotification, object: nil)
而不是:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(viewController.keyboardWillHide), name: UIKeyboardWillHideNotification, object: nil)