动画在Swift中不能很好地工作

时间:2017-09-19 12:40:50

标签: ios swift animation uikit

我有一个视图(灰色背景),另一个视图带有UITextField

当我点击灰色背景时,我希望带有UITextField的视图以动画消失(移至顶部)

当我点击返回键(虚拟键盘)时,动画很流畅,但是当我点击灰色背景时,它会在没有动画的情况下消失。当我在完成时注释vueRecherche.isHidden = true时,它没问题,但我想隐藏它!

这是我的功能

private func fermeRecherche() {

        if self.constraintVueRecherche_Top.constant == -5 {
            return
        }
        self.txtRercherche.endEditing(true)

        UIView.animate(withDuration: 0.3, animations: {

            self.constraintVueRecherche_Top.constant = -5
            self.vueFondGris.alpha = 0.0
            self.view.layoutIfNeeded()

        }, completion: { termine in

            self.vueRecherche.isHidden = true
            self.vueFondGris.isHidden = true
        })

    }

通过此调用,动画很流畅:

func textFieldDidEndEditing(_ textField: UITextField) {

    fermeRecherche()
}

但不是这个:

let tap=UITapGestureRecognizer(target: self, action: #selector(self.tapFondGris(_:)))
vueFondGris.addGestureRecognizer(tap)

func tapFondGris(_ sender: UITapGestureRecognizer) {

    fermeRecherche()
}

任何想法?

由于

0 个答案:

没有答案