這篇文章是根據iOS開發者網站的Auto Layout教學裡面的範例製作的,大概算是比較清楚的給出官方的步驟吧?該網站寫的比較簡單,也當作是自己學習一次。
首先,他在一個簡單的View controller中加上一個View container,然後在這裡面添加一個Scroll view和一些簡單的元件,然後在Scroll view中添加一個Text view示範Constraints的效果。
然後如同官方文件所述,可以參考裡面的圖片,先加入一個View container,然後在View container裡面添加一個Scoll view,然後在Scroll view內加入一個Text view,再於View container下方加上兩個按鈕,如下圖,注意我有為Scroll view的背景設定顏色,之後好分辨:
作法是用Control-drag從Scroll view拖曳到自己就放開,選擇width和height,我把:
你可以在裡面的constant設定好寬與高的數值。
你必須確定你創建了所有在Scroll view內的Subviews的constraints。比方說,當定義view的constraints時,如果這個view沒有ntrinsic content size,那你就必須建立包括leading edge constraint在內的各種constraints,像是trailing edge、width/height constraints,不可以漏掉。
作法一樣,Control-drag從Text view拖曳到Container view,建立Left/Right/Bottom等三個constraints。
如果這時候你用模擬器測試結果,那你會發現Text view一開始沒出現,記住要建立Text view的Width/Height的Constraints。
最後是建立Buttons的constraints。把Left button與View之間建立Leading的constraint,Right button與View之間建立Trailing的constraint,兩者都與View建立Bottom space to Bottom layout guide的constraints,最後模擬器的結果就會是這樣:
前言
在這個範例中我們會製作如同官方文件裡面呈現出來的結果,並加上簡單的說明。首先,他在一個簡單的View controller中加上一個View container,然後在這裡面添加一個Scroll view和一些簡單的元件,然後在Scroll view中添加一個Text view示範Constraints的效果。
開始
首先開一個新專案,選擇single view application:然後如同官方文件所述,可以參考裡面的圖片,先加入一個View container,然後在View container裡面添加一個Scoll view,然後在Scroll view內加入一個Text view,再於View container下方加上兩個按鈕,如下圖,注意我有為Scroll view的背景設定顏色,之後好分辨:
Controlling Scroll View Content Size
首先我們先控制Scroll view的大小,你要創建constraints去定義Scroll view的寬與高。作法是用Control-drag從Scroll view拖曳到自己就放開,選擇width和height,我把:
你可以在裡面的constant設定好寬與高的數值。
你必須確定你創建了所有在Scroll view內的Subviews的constraints。比方說,當定義view的constraints時,如果這個view沒有ntrinsic content size,那你就必須建立包括leading edge constraint在內的各種constraints,像是trailing edge、width/height constraints,不可以漏掉。
Creating Anchored Views Inside a Scroll View
再來要在Scroll裡面放置Views,如同前述,我們要讓Text view處在Scroll view的下方,而且當Scroll view捲動時,text view不會移動,我們會使用Container view,讓Container view擁有scroll view,然後讓Scroll view內的Text view建立跟Container view之間的Constaints。由於我們是將Text view跟Container view定錨,所以Text view的位置不會受到Scroll view的影響。作法一樣,Control-drag從Text view拖曳到Container view,建立Left/Right/Bottom等三個constraints。
如果這時候你用模擬器測試結果,那你會發現Text view一開始沒出現,記住要建立Text view的Width/Height的Constraints。
最後是建立Buttons的constraints。把Left button與View之間建立Leading的constraint,Right button與View之間建立Trailing的constraint,兩者都與View建立Bottom space to Bottom layout guide的constraints,最後模擬器的結果就會是這樣:
結論
我們建立了哪些Constraints呢?- Scroll view本身的寬與高(和Container view相同)
- Text view本身的寬與高
- Text view和Container view之間的Left/Right/Bottom
- Button和View之間的 Leading/Trailing/Bottom
- Scroll view和View之間的 Leading/Trailing
留言
張貼留言