我有UIScrollView
个UILabel
个,其中我不知道执行前的内容。所有内容都嵌入UIView
(滚动工作)。
我还有一个UIImageView
位于顶部。所以布局大致如此
-------------------
| |
| UIImageView |
| |
| UILabel |
| |
| UILabel |
| |
| UILabel |
| |
| UILabel |
| |
-------------------
所有UIView
都是水平居中的,前导和尾随空格为20.每个UILabel
的顶部和底部空格都为20.
现在出现了当前的问题。我希望UIImageView
具有不同的顶部空间,具体取决于屏幕尺寸。如果我有一个固定的顶部空间,比方说20,那么一切正常。但是如果我尝试设置一个范围,让我们说lessOrEqualTo
50和greaterOrEqualTo
10,那么我会得到一个约束错误,说滚动视图需要y位置或高度的约束。
那么如何设置顶部空间的范围而不会出现约束错误?
答案 0 :(得分:0)
您有两种选择。 1)您可以拥有固定的图像高度和可调节的顶部空间 2)您可以调整图像高度和固定顶部空间
否则,os如何确定这些因素?试想一下。
答案 1 :(得分:0)
实际上,UIScrollView
高度是按其内容计算的。例如,
scrollview.height = imageView.top + imageView.height + label1.top + label1.height + label2.top + label2.height + label2.bottom
这一切都必须在运行时保持不变,你可以改变它们的值,但它不能像你给出 lessOrEqualTo 50和greaterOrEqualTo 10 的约束一样动态。因为在这种情况下,它无法如上所述预测scrollview.height
。
<强>建议强>
outlet
顶部约束的imageView.top
并更改其constant
值。imageView.top
。它会根据您的屏幕高度自动排列。如果您需要任何进一步的帮助或详细信息,可以询问。
希望我的回答可以帮到你。