iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0
Mobile Development

如何成為IOS初級工程師系列 第 15

Day-15 畫面整合大師 - UIStackView

  • 分享至 

  • xImage
  •  

當你學完昨天的佈局後,你會需要一個強大的軍師,幫你整合畫面上的UI元件,這時候就需要出動UIStackView啦。

進入正題

  • 介紹UIStackView
  • 如何使用
  • StackView常用屬性

UIStackView

當你的畫面裡有越來越多的UI元件時,你可以把需要統一管理的UI元件放到UIStackView裡,進行垂直排列或是水平排列,並且透過StackView的屬性進行內部的排列或是間隔等等,可以把他想像是有點類似autolayout的功能。

使用方式

簡易的宣告方式

//arrangedSubviews是需要排列的元件,看你要放幾個元件都可以,我這邊假設放了三個UIView
let stack = UIStackView(arrangedSubviews: [UIView, UIView, UIView])

常用屬性

axis

簡單來說就是內部的元件想要水平排列或是垂直排列

stack.axis = .horizontal   //水平排列
stack.axis = .vertical     //垂直排列

https://ithelp.ithome.com.tw/upload/images/20220929/2015265980ONDb8UEZ.png

alignment

每個內部元件會排列在stackView裡面的哪裡

stack.alignment = .fill      //填滿stackView
stack.alignment = .leading   //排列在左邊
stack.alignment = .top       //排列在上面

distribution

也是在描述如何排列內部元件的方式

stack.distribution = .fill                //跟alignment一樣填滿整個stackView
stack.distribution = .fillEqually         //一樣是填滿,但每個元件會獲得一樣的空間
stack.distribution = .fillProportionally  //fill會根據自身的尺寸來決定在StackView中的尺寸。而 Fill Proportionally則是會根據StackView的寬或高按比例分配
stack.distribution = .equalSpacing        //根據剩餘的空間把間隔利用最大化
stack.distribution = .equalCentering      //跟上面同概念,但是利用中央的元件來做配置

spacing

簡單來說就是每個元件之間的間隔

stack.spacing = 50

還想要更了解StackView的話可以看我老師的文章


上一篇
Day-14 真正的高手都應該學會佈局 - Auto Layout(使用SnapKit)
下一篇
Day-16 輕鬆做出列表 - UITableView
系列文
如何成為IOS初級工程師30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言