UITapGestureRecognizer无法处理UIView动画

时间:2017-03-07 17:00:27

标签: ios animation uiview swift3

下午好,

我尝试在UIView上实现UITapGestureRecognizer。

我创建了UITapGestureRecognizer并像这样分配给我的UIView。

let gestureGeneral = UITapGestureRecognizer(target: self, action:  #selector (self.toConfigurationGeneral(_:)))
self.mode_view.addGestureRecognizer(gestureGeneral)

这是我的配置常规方法:

func toConfigurationGeneral(_ sender:UITapGestureRecognizer){
    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "ConfigurationGeneralViewController") as! ConfigurationGeneralViewController
    self.navigationController?.pushViewController(nextViewController, animated: false)
}

这段代码效果很好但是当我在这个UIView上添加动画时,我的方法没有被调用。这是我的动画:

UIView.animate(withDuration: 0.5, delay: 0, options: [.curveEaseIn, .repeat, .autoreverse, .allowUserInteraction, .allowAnimatedContent], animations: {
        self.mode_view.alpha = 0
} , completion: nil)

感谢您的回答。

2 个答案:

答案 0 :(得分:0)

当您的观看次数alpha设置为0时,所有GestureRecognizer都无效。

您可以使用与mode_viewmode_view相同的框架添加具有清晰背景颜色的新子视图。 并添加GestureRecognizer。 当您隐藏mode_view时,新子视图将调用该方法。

您也可以只在此清除背景新子视图

上添加手势

答案 1 :(得分:0)

当您打算使用GestureRecognizer时,您需要将userInteractionEnabled设置为true才能显示视图 请确认一下 mode_view.userInteractionEnabled = true