Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Swift 在iphone X 12.1中,TapGestureConcegnizer在backgroundview中不工作_Swift_Uitapgesturerecognizer - Fatal编程技术网

Swift 在iphone X 12.1中,TapGestureConcegnizer在backgroundview中不工作

Swift 在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时,约束等于也不工作的视图,但如果我约束新视图不等于视图,

我有一个简单的代码,可以在点击屏幕时将TapGestureRecognitor添加到dismis ViewController中,但它不仅适用于iPhone X 12.1

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或模拟器可能会出错。