Swift 删除UIView后重置其他零部件的约束
我得到了一个横幅Swift 删除UIView后重置其他零部件的约束,swift,xcode,uiviewcontroller,banner-ads,safearealayoutguide,Swift,Xcode,Uiviewcontroller,Banner Ads,Safearealayoutguide,我得到了一个横幅UIView,如果用户有NoAds功能,我想删除它 问题是在我删除横幅UIView后,我找不到一种方法来设置俯视图的约束,以包装ViewController的其余部分 这里有一些图片让你更好地理解 我使用removeFromSuperview()方法删除横幅UIView 在故事板上,我的底部约束设置为0,指向最近的邻居,即当时的UIView横幅。问题是,在我移除横幅UIView后,我想将上面的UIView的底部约束设置为0,指向SuperView。 提前谢谢。只要你能使用简单
UIView
,如果用户有NoAds功能,我想删除它
问题是在我删除横幅UIView
后,我找不到一种方法来设置俯视图的约束,以包装ViewController
的其余部分
这里有一些图片让你更好地理解
我使用removeFromSuperview()
方法删除横幅UIView
在故事板上,我的底部约束设置为0,指向最近的邻居,即当时的UIView
横幅。问题是,在我移除横幅UIView
后,我想将上面的UIView的底部约束设置为0,指向SuperView。
提前谢谢。只要你能使用简单的解决方案 您可以使用
分发设置垂直堆栈视图中的TopView、横幅
对齐填充
当其中一个堆栈视图项隐藏时,另一个将展开
见图片
如果您需要使用Constraint,您有activate
和deactivate
,然后调用setNeedsLayout()
试试这个NSLayoutConstraint.deactivate(myView.constraints)
我似乎找不到一个方法来帮助我。我希望顶部UIView的底部约束更改为0,但不朝向横幅UIView(已删除)。我希望它在SuperView的末尾变为0。好的,当您删除它们时,您可以尝试将固定高度约束发送到banner UIView
,设置myHeightConstraint.constant=0 removeFromSuperview()
这样做了!谢谢,我甚至不知道这个选项PI有一个静态AdManager类,它保存了一个包含所有横幅广告的数组。一旦用户购买,我就通过循环数组从superview中删除所有横幅。因为横幅都在堆栈视图中,所以它会自动工作。