如何在具有约束的单个 UIView 中设置 4 个具有相同间隙的 UIView iOS
How to set 4 UIView with same gap in one single UIView with Constraints iOS
我有 4 UIView
岁。全部都在parentUIView
中。 Parent 具有固定的高度限制,即 240。但我必须将其最小化为 190,因为 iPhone 4.
child 视图的高度是固定的。现在我的问题是如何在它的 parent 视图中设置所有这 4 个 UIView 具有相同的间隙,这样如果我只是改变它的 parents 视图的高度,child 视图可以自动适应在 parent 视图中具有相同的间隙。
非常感谢。
Parents 视图约束:
前导 0
尾随 0
最重要的是 Parents X
底部是 Parents Y
高度 240(我必须减少 iPhone 4)
Child 查看约束:
使用 Facebook 视图限制登录:
前导 0
尾随 0
前 0
垂直固定在 child 下方的第二个视图(我将其设置为固定值,如 <= X,但不起作用)
使用 Twitter 视图限制登录:
前导 0
尾随 0
垂直固定在下面的第三个 child 视图(我将其设置为固定值,如 <= X 不起作用)
登录 phone 查看限制:
前导 0
尾随 0
垂直固定在 child 下方的第四个视图(我将其设置为固定值,如 <= X 不起作用)
使用电子邮件登录查看限制:
前导 0
尾随 0
底部是 parents 0
不确定它是否对您有帮助,但我认为您应该使用 UITableView 而不是使用 4 个不同的 view.You 可以在 GROUPED UITableView 中为相同的部分设置高度 space。
首先,在你的情况下我会使用 UIButton
,但让我们讨论解决方案...
在故事板中设置视图之间所需的间距。尝试找到适用于 iPhone 4 和 iPhone 5 尺寸的 space... 还要记住 iPhone 6!
在按住 CTRL 的同时将第一个 UIView
拖到第二个上,并对所有这些设置固定的 "vertical spacing" 约束。
对第 2 到第 3、第 3 到第 4 等做同样的事情......他们应该在任何屏幕尺寸下保持 space。
请检查此 URL:evenly-space-multiple-views-within-a-container-view
它将帮助您如何在不使用间隔视图的情况下将视图设置为等距。
希望对解决您的问题有所帮助。
最后我找到了另一种方法。系统是,在每个Gap中多放3个UIView
。像这样。
现在这样命名:
1stSeperatorView
第二个分隔符视图
3rdSeperatorView
清除 ChildView 的所有垂直约束,顶部和底部除外。现在设置分隔符视图约束,如下所示:
第一个分隔符视图:
前导 0
尾随 0
垂直于它的顶部 0
垂直于底部 0
第二分隔符视图:
前导 0
尾随 0
垂直于底部 0
3rdSeperatorView :
前导 0
尾随 0
垂直于底部 0
现在最重要的事情。 Select 3 个分隔符视图聚集在一起,并从约束面板 设置它们的等高约束。更新框架。根据需要更改父视图的高度。它应该可以完美运行。
再次感谢大家抽出宝贵时间。 :)
我有 4 UIView
岁。全部都在parentUIView
中。 Parent 具有固定的高度限制,即 240。但我必须将其最小化为 190,因为 iPhone 4.
child 视图的高度是固定的。现在我的问题是如何在它的 parent 视图中设置所有这 4 个 UIView 具有相同的间隙,这样如果我只是改变它的 parents 视图的高度,child 视图可以自动适应在 parent 视图中具有相同的间隙。
非常感谢。
Parents 视图约束:
前导 0
尾随 0
最重要的是 Parents X
底部是 Parents Y
高度 240(我必须减少 iPhone 4)
Child 查看约束:
使用 Facebook 视图限制登录:
前导 0
尾随 0
前 0
垂直固定在 child 下方的第二个视图(我将其设置为固定值,如 <= X,但不起作用)
使用 Twitter 视图限制登录:
前导 0
尾随 0
垂直固定在下面的第三个 child 视图(我将其设置为固定值,如 <= X 不起作用)
登录 phone 查看限制:
前导 0
尾随 0
垂直固定在 child 下方的第四个视图(我将其设置为固定值,如 <= X 不起作用)
使用电子邮件登录查看限制:
前导 0
尾随 0
底部是 parents 0
不确定它是否对您有帮助,但我认为您应该使用 UITableView 而不是使用 4 个不同的 view.You 可以在 GROUPED UITableView 中为相同的部分设置高度 space。
首先,在你的情况下我会使用 UIButton
,但让我们讨论解决方案...
在故事板中设置视图之间所需的间距。尝试找到适用于 iPhone 4 和 iPhone 5 尺寸的 space... 还要记住 iPhone 6!
在按住 CTRL 的同时将第一个 UIView
拖到第二个上,并对所有这些设置固定的 "vertical spacing" 约束。
对第 2 到第 3、第 3 到第 4 等做同样的事情......他们应该在任何屏幕尺寸下保持 space。
请检查此 URL:evenly-space-multiple-views-within-a-container-view
它将帮助您如何在不使用间隔视图的情况下将视图设置为等距。
希望对解决您的问题有所帮助。
最后我找到了另一种方法。系统是,在每个Gap中多放3个UIView
。像这样。
现在这样命名:
1stSeperatorView
第二个分隔符视图
3rdSeperatorView
清除 ChildView 的所有垂直约束,顶部和底部除外。现在设置分隔符视图约束,如下所示:
第一个分隔符视图:
前导 0
尾随 0
垂直于它的顶部 0
垂直于底部 0
第二分隔符视图:
前导 0
尾随 0
垂直于底部 0
3rdSeperatorView :
前导 0
尾随 0
垂直于底部 0
现在最重要的事情。 Select 3 个分隔符视图聚集在一起,并从约束面板 设置它们的等高约束。更新框架。根据需要更改父视图的高度。它应该可以完美运行。
再次感谢大家抽出宝贵时间。 :)