【发布时间】:2016-04-16 22:14:14
【问题描述】:
请查看为wCompact|hRegular 附加的不同屏幕的屏幕截图,我试图让它从几个小时开始工作,但没有取得任何成功。我的要求是在顶部有一个带有一些预定义边距的标签。虽然标签内容会在运行时呈现,但我知道内容大小,所以我认为实际上不需要resizable label。现在将有等距离的三排。在第一行和第三行中,将有两个高度和宽度相同的按钮,在第二行中,将有水平对齐的按钮。我已经在情节提要中设置了按钮图像和文本。控件对齐设置为水平 |垂直的。标签的约束是:Pinned top space to superview, leading and trailing space equals to:8(superview), height equals:90.
按钮(查看交易)的约束是:top space to label, bottom space equals to:8(New Launches Button) leading and trailing space equals to:8(superview) and 8(Place Request Button) respectively, and equal width and height for all buttons.
4.7 和 5.5 看起来不错,但对较小屏幕的输出不满意。如您所见,按钮图像的大小调整无法正常工作(按钮图像和文本之间的空间较大)。还有一件事是我不想设置标签的高度,因为这在 AutoLayout 中似乎是一种错误的做法。任何帮助将不胜感激。
【问题讨论】:
-
对于较小的屏幕,您可能必须使文本变小...自动布局不够聪明,无法解决这个问题。
-
您是否在设置内容拥抱和压缩优先级?你为什么要固定高度而不是让它成为内在的?
-
我该怎么做@I'L"我请解释一下,在标签中我可以使用自动收缩属性,但我将如何在按钮中做到这一点。
-
@Wain:不,我没有设置,更新了截图。请指导,仍在学习 AutoLayout。
-
由于标签的 90 到顶部约束使您的按钮无法正确调整大小,您可能希望为此使用代码(如当前视图高度的 20%)或强制按钮高度
greater than or equal并降低标签顶部约束的优先级,则按钮高度不会低于预定义高度
标签: ios objective-c autolayout storyboard