ios约束删除手势

时间:2017-08-08 18:35:40

标签: ios swift

这有点难以描述,所以如果需要更多信息请告诉我。 VIEW 1仅出现在特定标准上。此视图显示在其他视图之前。如果出现VIEW 1,我在VIEW 2上设置了出口约束,以便更改顶部位置。

如果出现VIEW1,请将VIEW 2顶部约束设置为143,否则设置为0

@IBOutlet weak var view2Top: NSLayoutConstraint!

//set in function where criteria is checked
view2Top.constant = 143

这符合标准。但是当VIEW1出现时,它会导致在VIEW 3上设置的点击手势(红色边框)停止工作。隐藏视图1并点击手势有效。现在VIEW 4 tap工作正常,它和VIEW 3完成相同。 VIEW 3有一个红色边框视图,位于地图顶部连接插座的位置。

enter image description here

VIEW 3设置如下

@IBOutlet weak var mapViewOverlay: UIView!
let mapTap = UITapGestureRecognizer()

在viewDidLoad中,手势定义为

mapTap.addTarget(self, action: #selector(self.mapTapped))
mapViewOverlay.addGestureRecognizer(mapTap)

mapTapped就是

func mapTapped(){
    print("mapTapped")}

我已经尝试过设置强大的插座,但并不重要。任何人都知道需要改变什么,所以手势不会丢失?

更新

因此,解决方案是移除地图上的叠加层,边框为红色,禁用与地图的任何交互,并将VIEW3设置为具有敲击手势。这实际上简化了布局。实际原因仍然未知,但也许是过度思考它实际上是原因。

感谢大家的时间。

0 个答案:

没有答案