Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView使用自动布局显示所有子视图_Ios_Objective C_Autolayout - Fatal编程技术网

Ios UIView使用自动布局显示所有子视图

Ios UIView使用自动布局显示所有子视图,ios,objective-c,autolayout,Ios,Objective C,Autolayout,在上面的视图中,橙色、蓝色和绿色视图是黄色视图的子视图。我需要父视图(黄色)的边框来拥抱它的子视图。两个图像之间发生的唯一移动是向上和向右移动的绿色子视图 因为橙色视图的底部现在低于绿色视图的底部,所以父视图拥抱橙色视图的底边 类似地,因为绿色视图的右边缘超过蓝色视图的右边缘,所以父视图拥抱绿色视图的右边缘 有没有一种方法可以通过自动布局约束实现这一点,或者我必须编写自定义代码?对于底边,橙色和绿色视图都需要两个垂直空间约束。它们是: 关系设置为“大于或等于”且常量设置为0的垂直空间约束 关系

在上面的视图中,橙色、蓝色和绿色视图是黄色视图的子视图。我需要父视图(黄色)的边框来拥抱它的子视图。两个图像之间发生的唯一移动是向上和向右移动的绿色子视图

因为橙色视图的底部现在低于绿色视图的底部,所以父视图拥抱橙色视图的底边

类似地,因为绿色视图的右边缘超过蓝色视图的右边缘,所以父视图拥抱绿色视图的右边缘


有没有一种方法可以通过自动布局约束实现这一点,或者我必须编写自定义代码?

对于底边,橙色和绿色视图都需要两个垂直空间约束。它们是:

  • 关系设置为“大于或等于”且常量设置为0的垂直空间约束
  • 关系设置为“相等”、常量设置为0且优先级低于第一个约束的垂直空间约束
第一个约束确保无论发生什么情况,空间都将大于或等于零。第二个约束条件是,如果可能,也要使空间正好等于零

然后,可以使用水平空间约束为蓝色和绿色视图的右边缘复制上述内容