是否有多个图层来约束Xcode中的按钮?

时间:2017-07-31 01:19:36

标签: swift xcode layout uibutton constraints

我试图在swift Xcode项目中从我的viewController中删除UIImageView,如果存在某种情况(如果用户已购买"删除广告")。我可以通过设置图像来实现这一目标。 .imagenil以及将其大小设置为nil的约束。但是当我这样做时,按钮会移到视图底部的正确位置,但按钮的可按压区域不再是整个按钮。如果我触摸它的左下角,我可以按它。

如果我能够在适当的位置显示按钮的外观,我该如何影响功能区域呢?

2 个答案:

答案 0 :(得分:0)

您应该检查按钮新frame或按钮前面的任何捕捉触摸事件的视图。

通常,UIButton触摸区域是其框架区域。

答案 1 :(得分:0)

以下是我使用的代码,而不仅仅是nil用于图片和横幅视图。

        self.adBannerView.removeFromSuperview()
        self.bottomGreyArea.removeFromSuperview()

        self.view.addConstraint(NSLayoutConstraint(item: nextButton, attribute: .bottom, relatedBy: .equal, toItem: self.bottomLayoutGuide, attribute:.top, multiplier: 1, constant: 0))
        self.view.addConstraint(NSLayoutConstraint(item: backButton, attribute: .bottom, relatedBy: .equal, toItem: self.bottomLayoutGuide, attribute:.top, multiplier: 1, constant: 0))
        self.nextButton.translatesAutoresizingMaskIntoConstraints = false
        self.backButton.translatesAutoresizingMaskIntoConstraints = false

从superview中删除清除了所有约束,因此我重建了按钮的相关约束(之前依赖于bottomGreyArea。所有这些都在世界上再次出现!