我试图在swift Xcode项目中从我的viewController中删除UIImageView,如果存在某种情况(如果用户已购买"删除广告")。我可以通过设置图像来实现这一目标。 .image
到nil
以及将其大小设置为nil
的约束。但是当我这样做时,按钮会移到视图底部的正确位置,但按钮的可按压区域不再是整个按钮。如果我触摸它的左下角,我可以按它。
如果我能够在适当的位置显示按钮的外观,我该如何影响功能区域呢?
答案 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
。所有这些都在世界上再次出现!