2016-12-24 43 views
1

我在一週前開始IOS開發,並且我正在學習自動佈局。可悲的是我無法將頭圍繞着領先的&尾隨限制以及何時使用它們,我甚至都不理解它們。我已經做了一些研究,現在只是更困惑。有人可以舉一些例子嗎?Xcode 8:自動佈局前導和尾隨

此定義形成Apple網站: 隨着朝着後沿移動,值增加。對於從左到右的佈局方向,當您向右移動時,值會增加。對於從右向左佈局方向,向​​左移動時值會增加。

https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html

由於

+0

如果你看過去幾年的WWDC視頻(免費),Autolay上有各種視頻。這些解釋了尾隨/領先以及從左到右和從右到左佈局之間的切換。 –

回答

3

TL; DR

他們不能只是它命名爲左,右,因爲它有什麼意義在這兩個佈局方向:左到右,右到左。因此,尾隨和領導。

再回應

我覺得你問自己的問題是,爲什麼蘋果到底是不是僅僅將其命名爲左,右。跟蹤和領先是什麼。

背後的原因是可能有兩種不同的佈局。從iOS 9開始,從左到右的語言(如英語)的UI佈局很好地從左到右。但以阿拉伯語爲例,它是從右到左。

但是Autolayout足夠聰明,您不需要爲這兩種類型的佈局設置佈局兩次。您只需設置一次,系統會自動將其反轉,以防您的應用支持從右向左的語言。

+0

我只是不確定何時實際使用它。 – John

+1

大部分情況下,特別是在學習開始時,您可以將「領先」視爲「左邊」和「後面」。例如,如果您想將視圖的左側附加到超級視圖的左側。你將創建一個約束,將你的子視圖的前端連接到它的超級視圖的前端 –

+0

很好的答案,謝謝 – John

0

主導裝置視圖的出發點和後行裝置視圖的結束點。

例如,如果一個視圖有一個框架(x: 0, y: 0, width: 100, height: 100)其領先的將我0和拖尾將爲100

所以,如果你的領導和感動會增加,同樣的點之間的領先距離向右移動這發生在拖尾的情況下。

0

對於這個答案,忽略從右向左流動的阿拉伯語和希伯來語等語言。我要回答大部分從左向右流動的語言。

對於這些語言,「領先」約束決定了對象左側的空間,而「尾隨」約束決定了右側的空間。 (對此的一個很好的助記是,左側和前端都以「L」開頭)。

對於流動方向相反的語言,切換邊,但「前導」仍將物體固定到前沿(您開始閱讀的一面。)