如何解决如何设置约束以入侵另一个视图
我总是听到要设置约束来使视图之间保持一定距离,但是我想知道是否可以将视图设置为入侵另一个视图。
我的问题是,如果您在图像上看,会看到2个视图,一个足球和一个大的白色正方形。
最终结果将是这样:
我想设置一个像图像一样的约束,球总是在白色正方形视图内留出一定的空间,可以做类似的事情,或者我只需要在油漆,photoshop或其他物体上像我一样假装拥有图像的软件,不再担心约束(例如变通方法)。
解决方法
这可以通过基本的自动布局完成-约束视图绝对没有错,因此它们可以重叠。
这是一个简单的例子:
请注意左侧轮廓中的最后一个约束:
BoxView.top = ball.bottom - 24
这会使图像视图的底部比“框”视图的顶部低24点...换句话说,它具有24点的“重叠”。
修改
通过交换约束顺序,可能会更加清楚:
现在,最后一个约束显示:
ball.bottom = BoxView.top + 24
可能更直观。
编辑2
关于您的评论-球形图像视图被灰色框视图覆盖...
我无法复制它,但是我以前在图像视图中已经看到过这种情况。即使使用Debug View Hierarchy
也会将图像视图显示在另一个视图的前面,但是它就像在它后面一样呈现。在我看到的情况下,在Storyboard中重新制作控制器可以解决此问题。
但是,可能不会,所以...
假设您已将图像视图连接到插座,则可以尝试以下操作:
@IBOutlet var ball: UIImageView!
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
view.bringSubviewToFront(ball)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。