2016-01-12 37 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。 –