2016-01-12 92 views
1

请看看为不同的屏幕wCompact|hRegular附加的ScreenShot,我试图让它工作几小时,但没有得到任何成功。我的要求是,在顶部会有一个预定义的边距标签。虽然标签内容会在运行时渲染,但我知道内容大小,所以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中看起来像一个错误的做法。任何帮助将非常感激。 enter image description hereFor label
For ButtonAutolayout问题与多个按钮水平和垂直与标签对齐

+0

对于较小的屏幕,您可能必须缩小文本...自动布局不够明智,无法解决这个问题。 –

+0

您是否设置了内容拥抱和压缩优先级?你为什么要固定高度而不是固有的? – Wain

+0

我该怎么做@我就说“我解释说,在标签中我可以使用自动收缩属性,但是我怎样才能在Button中做到这一点? –

回答

0

你应该设定纵横比的按钮,而不仅仅是平等的宽度和高度。在这种情况下,自动布局不会缩小图像。

+0

好吧,让我试试 –

0

真的,你应该把它放到滚动视图中,这样如果高度太高,用户仍然可以通过滚动看到所有东西。您也不应该在标签上设置静态高度,您应该允许应用内在内容大小。

将子视图添加到新的滚动视图中。将此子视图的宽度固定为滚动视图的宽度。不要固定高度。

将所有的按钮和标签添加到这个新的子视图。将它们固定到视图的边缘,并允许内在内容大小应用限制。将各种项目设置为具有相等的宽度和高度。不要设置明确的高度或宽度(按比例或平等做所有事情,以便自动布局可以选择好尺寸)。

+0

它可以是另一种方式,如果它不起作用会尝试但如果我想根据屏幕调整View的元素大小原因,我认为这是AutoLayout背后的主要思想。 –

+0

不是真的,自动布局可以确定大小,标签可以自动缩小字体大小 – Wain

+0

实际上在我的情况下,我知道我的标签的内容大小。几乎不会有10-15个字,我担心的是Buttons。 –