Swift 在iphone X 12.1中,TapGestureConcegnizer在backgroundview中不工作
我有一个简单的代码,可以在点击屏幕时将TapGestureRecognitor添加到dismis ViewController中,但它不仅适用于iPhone X 12.1Swift 在iphone X 12.1中,TapGestureConcegnizer在backgroundview中不工作,swift,uitapgesturerecognizer,Swift,Uitapgesturerecognizer,我有一个简单的代码,可以在点击屏幕时将TapGestureRecognitor添加到dismis ViewController中,但它不仅适用于iPhone X 12.1 addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(closeSharing(_:)))) 注意:magicaly,当我向新视图添加tap GestureOcciner时,约束等于也不工作的视图,但如果我约束新视图不等于视图,
addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(closeSharing(_:))))
注意:magicaly,当我向新视图添加tap GestureOcciner时,约束等于也不工作的视图,但如果我约束新视图不等于视图,则工作。有人知道原因吗?您可能需要在这里检查几件事: 第一步确保主视图未被覆盖,例如另一个顶视图会打断您的点击手势,因此请将该手势添加到顶视图中 第二步确保包含手势的视图应具有属性
view.isUserInteractionEnabled=true
,否则手势将无法工作
第三步确保在测试时显示视图,您可能会遇到约束问题,因此视图超出屏幕范围,因此请尝试为视图提供backgroundColor=.red
以查看它是否存在,或者您可以从xCode使用查看调试器
工作姿势示例:
let viewToDismiss = UIView(frame:UIScreen.main.bounds)
viewToDismiss.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(closeSharing(_:)))
tap.numberOfTapsRequired = 1
viewToDismiss.addGestureRecognizer(tap)
你在哪里添加点击手势?在viewDidLoad中,我测试在interface builder中添加它,但它也不工作。谢谢你,现在它工作了,我不知道为什么,但可能我的xcode或我的模拟器出错。谢谢你的回答,但我已经检查了所有这些,而且它仍然不工作,只有iPhone 12.1模拟器。谢谢你,现在它工作了,我不知道为什么,但我的xcode或模拟器可能会出错。