2016年2月22日 星期一

[iOS] AutoLayout 筆記 - 設定距離的小技巧2

上次提到設定距離的小技巧,還有一些東西可以補充。

首先先拉出一個100 x 100 ,且水平垂直置中的View






















點Center Y這條線,並將First Item打開,會看到許多選項






















Center Y,代表的意思就是你的View的中心位於這條線上。

你可以試著將他調成Top,此時你的View的Top會位於這條線上。



















接著你將他調整成Bottom,你大概會猜出,此時這個View的Bottom會位於這條線上。



















接著你試著按另一條線,Center X,在First Item一樣有三個選項可以選。






















有上一個例子後,你應該會知道這三個改了之後大概會有什麼樣的效果。

此時,假設我們想要在螢幕高度1/3的位置處,往下畫出這個View,該怎麼做呢?

你可以先拉出一個View,讓他的高度等於1/3,確認你的位置是正確的。






















接著回到一開始拉出的置中View,並將Center Y的First Item改為Top,因為你要從1/3的位置處畫出這個View,而不是在1/3位置處置中這個View。

此時,你可以設定Second Item,預設是Superview.Center.Y,也就是在SuperView的置中的位置,一樣有數個選項可以做設定。

改到Top的話,就是在Superview的Top處。











而Superview的Bottom的話,你的View會在Superview的Bottom,

此時應該會在螢幕之外。











接著試著將Multiplier 改為1:3,你會看到你的View突然跑到螢幕之中。















可是還是有一點差異,因為有status bar的關係,因此會有一些差距。

你可以將status bar關閉,在將Frame修正,就會一致了。

此時你會看到你的View的確是在1/3處。
















或者你需要status bar的話,就只要將他的高度加入Constant之中即可。

status bar的高度為20,將他填入Constant之中。



















學會這個技巧後,許多需要透明View來達成的工作,也可以靠這樣的技巧來完成。

當然左右也是一樣的道理,靠比例來設定你需要的Layout吧!

沒有留言:

張貼留言