热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

自动布局:Y位置为两个值的最大值

如何解决《自动布局:Y位置为两个值的最大值》经验,为你挑选了1个好方法。

我有一个按钮playButton和UIViews,myView1和myView2,它们的位置可能会在执行期间发生变化.我希望playButton的顶部比UIView1底部或UIView2底部低10个单位,取较大的值(进一步向下).我如何在代码中使用自动布局来表达这一点?我尝试将一个约束设置为更大或相等但似乎没有效果.



1> Ken Thomases..:

这是考虑它的一种方法:创建一个约束,即playButton的顶部大于或等于myView1加10的底部,另一个约束,即playButton的顶部大于或等于myView2加10的底部,并且然后是第三个约束,即playButton的顶部位于低优先级的共享超级视图的顶部.

这两个不等式将确保按钮位于两个视图之下.然而,这留下了歧义.按钮可以位于两者之下的任何位置.第三个约束不能这样满足,但自动布局系统将尽可能地接近.这解决了歧义.按钮将尽可能靠近顶部,同时仍在两个视图下方.

这实际上可以简化.您可以将其中一个不等式与低优先级相等结合起来.有一个约束,即playButton的顶部大于或等于myView1加10的底部.有第二个约束,即playButton的顶部等于 myView2的底部加10,但优先级较低.

如果myView1的底部低于myView2,那么第一个约束要求playButton低于它.第二个约束不能满足,但系统尝试尽可能接近myView2的底部.这使得按钮尽可能高,同时仍然低于myView1的底部.如果myView2的底部低于myView1,则第二个约束直接确定按钮的位置.第一个约束也得到满足,因为它是一个不平等.


推荐阅读
author-avatar
手机用户2602925213
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有