2017-07-27 21 views
1

因此,在我的個人項目上工作,在自動佈局約束令人沮喪之後,我發現了堆棧視圖。在觀看了關於這個主題的幾篇教程和指南之後,我想要嘗試一下。所以我創建了一個新的Xcode項目並與他們一起玩了一段時間,他們似乎工作得很好。但是,在將它們實現到我的大型項目中的過程中,我遇到了幾個問題,希望我的錯誤不是Xcode 8錯誤。堆棧視圖壓縮到Xcode模擬器中的塊中

堆疊的意見和間隔出來後,我得到了這個結果,而這正是我想達到的效果:

enter image description here

然而,當我在模擬器中運行它,即使在完全相同尺寸與故事板一樣,在視圖中的所有壓縮在一起成一個胖子塊狀的混亂完全不像什麼是顯示在故事板:

(忽略綠色的東西,只是爲了幫助我的佈局)

enter image description here

我//如何堆疊視圖

enter image description here

我疊的一切主要是由一行行,然後堆疊行在一起。然後,我將主堆棧視圖限制爲頂部佈局指南的約10分,到最高佈局指南的頂部和尾部的超級視圖分數爲012點,最低點爲40點。

如何正確堆疊這些該死的視圖,使它看起來在所有設備和屏幕尺寸上完全相同?請嘗試越具體可以,包括內容模式等

+0

我*討厭* UIStackView。雖然*試圖*來簡化自動佈局,我發現它添加了「隱藏」的東西,我手動編碼的東西。所以是的,我沒有太多的幫助 - 但是因爲這正是我兩年前所面對的 - 我拔掉了你的問題。井然有序,從我能看到你已經嘗試了幾件事情,定義了你想要的東西等等。 – dfd

回答

2

這裏是解決方案,我實現:

VIEW HIERARCH

enter image description here

規格

MainStackView

約束:頂 - 20,龍頭 - 10,尾隨 - 10,底部 - 20

對齊方式:填寫,分佈 - 填寫,間距 - 20

ROW1

約束:高度相等0.1

行2

否 - 與乘法器MainStackView事情

ROW3

約束:等高與乘數MainStackView - 0.37

對齊:填充,分配 - FillEqually,間距 - 10

Row31Row32Row33

約束:沒有

對齊:填充,分配 - FillEqually,間距 - 10

Row34

約束:沒什麼,上相等的寬度小,以便Row34與乘法器添加約束 - 0.314

對齊方式:填寫,分佈 - 填寫,間距 - 10

ROW4

約束:相等的高度,以ROW1,上至ROW4相等寬度的小視圖添加約束與乘數 - 0.314

對齊:填充,分配 - 填充,間距 - 10

OUTPUT

enter image description here

+1

謝謝,Pramod對我真的有幫助;) –

+0

其實,如果你還有它,如果你可以發送給我[email protected]的xcode文件,那將是非常好的。如果不是那樣,我只是在確定哪些行名對應哪些視圖等方面遇到了一些困難。 –

1

首先,需要在上部stackview的內側以創建單個stackview外側然後4堆 圖。然後外部堆棧視圖 對齊和分配都是填充。內部1和4堆棧視圖高度 約束相同,並且2內部視圖高度固定。

然後第三內stackview有4個堆疊視圖,以便第一3分配 被填充平等和第四stackview分佈是填充和 約束手動設置。我希望這能幫到您。

+0

外部堆棧視圖根據需要有20個空格。 – Rex