iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 21
0
自我挑戰組

iOS 筆記系列 第 21

Mysteries of Auto Layout WWDC 15 Session 218

  • 分享至 

  • xImage
  •  

這個 Seesion 太豐富了,你一定要自己去看才行,這篇只是要簡單摘要一下這個 Seesion 的內容。

StackView

這個 Session 前半段在講 StackView 這是在 iOS 9 推出的新的 AutoLayout 功能,這個功能非常強大,大幅度漸少了使用 Constraint 的數量,這兩張圖可以來做比較:

使用 StackView 前
http://ithelp.ithome.com.tw/upload/images/20161221/20103561pAZiO45puH.png

使用 StackView 後
http://ithelp.ithome.com.tw/upload/images/20161221/201035616PU7uPqB8w.png

簡單介紹 stackview 是做什麼,他是你可以把一組一組的物件框起來,然後按下右下角的圖(下圖滑鼠指的地方),被選擇的物件就會變成一個 StackView,讓他們遵循相同的 Constraint。
http://ithelp.ithome.com.tw/upload/images/20161221/20103561YoN06LdWO9.png

主要有三個屬性可以設定:

  • Axis:排列方向
  • Alignment:對齊
  • Distribution:分佈
  • Spacing:物件間的空間

這些設定都不需要設定 Contraint,這讓 Storyboard 非常乾淨,而且讓 AutoLayout 非常好管理,如果要加入新的物件的話,只要把物件拖進想要 StackView,物件就會自動遵循這個 StackView 的規則了。

這部份最後提到一個 AutoLayout Style:Start with Stack View, use contraints as needed.
這句就可以知道蘋果把 Stack View 定調在 AutoLayout 下一代必備的技能,而不是其中一項你可以選擇要不要用的功能而已。

Seesion 裡的 Demo 非常精彩,你一定要自己去看看!

Mystries

這部分可以從這張簡報開始

這部分一開始提到她建議的使用 Contraint 的方法:不要使用 Add & Remove,用 Activate & Deactivate。
因為有這些好處:

  • Contraints find their own container
  • Adds contraints efficiently
  • Do not need to own all views

不過記得絕對不要 deactivate self.view.contraints。

這部分算是很深入了講解到底 AutoLayout 到底需要哪些參數才能讓我們的 UI 正常運作,沒有什麼新的東西,就不特別寫出來了,不過非常詳細非常推薦大家去看!


上一篇
WWDC 16 Introduction to Notifications
下一篇
Advanced Notifications WWDC 16 Session 708
系列文
iOS 筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言