下午好,
我尝试在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)
感谢您的回答。
答案 0 :(得分:0)
当您的观看次数alpha
设置为0
时,所有GestureRecognizer
都无效。
您可以使用与mode_view
和mode_view
相同的框架添加具有清晰背景颜色的新子视图。
并添加GestureRecognizer
。
当您隐藏mode_view
时,新子视图将调用该方法。
您也可以只在此清除背景新子视图
上添加手势答案 1 :(得分:0)
当您打算使用GestureRecognizer时,您需要将userInteractionEnabled设置为true才能显示视图 请确认一下 mode_view.userInteractionEnabled = true