iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
1
Mobile Development

iOS App初心者的30天試鍊系列 第 22

Day22:如何使用 Auto Layout來設計Clock App的cell畫面

  • 分享至 

  • xImage
  •  

在昨天介紹完Day21:如何在沒有MacOS時設計MainStoryBoard的畫面,今天我們來談

一下如何使用Auto Layout

實做步驟 :

1.先設定MainStoryBoard的Clock App Tabel cell的高度是固定的,不需要用 Auto Layout

計算高度 , Table View 的 Row Height 設為 90,Estimate 的 Automatic取消勾選

https://ithelp.ithome.com.tw/upload/images/20190929/20112182N2GIPtAKMn.png

2.在Cell上加入顯示時間的Label,點選右下角的 Add New Constraints,設定

leading & top 間距 10,取消 Constrain to margins 的勾選,否則

label 跟 cell 邊界的間距將是 10 + margin。

https://ithelp.ithome.com.tw/upload/images/20190929/20112182cyZPwcagyn.png

3.在cell上加入顯示Alarm名稱的Label

點選右下角的 Add New Constraints,設定 top 間距10。

https://ithelp.ithome.com.tw/upload/images/20190929/201121826BdttkGyag.png

4.選取時間和 alarm 名稱的 label,點選右下角的 Align,加入 Leading Edges 0 的條件,

讓兩個 label 的左邊界對齊。

https://ithelp.ithome.com.tw/upload/images/20190929/20112182shIzvn3LGj.png

5.在Cell上加入Switch開關

設定 trailing 間距為 20,取消勾選 Constrain to margins。

https://ithelp.ithome.com.tw/upload/images/20190929/20112182Gv9wXhjuQr.png

加入垂直置中的條件,將 Vertically in Container 設為 0。

https://ithelp.ithome.com.tw/upload/images/20190930/20112182ueuLu5TSah.png

6.讓Alarm名字Label的長度不要超過Switch

如下圖所示,當名字太長時,label 的長度將超過 swtich。

https://ithelp.ithome.com.tw/upload/images/20190930/201121828JQXNX27eN.png

我們不想要這樣,所以我們設定名字 label & switch 之間有著5 pt 的安全距離。

7.從switch 拉線到Label,選擇 Horizontal Spacing

https://ithelp.ithome.com.tw/upload/images/20190930/20112182SdSgGjt7Np.png

8.將條件的 Constant 設為 10,讓 switch 和名字 label 間有著 10 pt的間距

https://ithelp.ithome.com.tw/upload/images/20190930/20112182A7puDr5nsJ.png

但當label 字太多時,畫面的空間將無法同時顯示完整的文字並跟 switch 保持間距 10

https://ithelp.ithome.com.tw/upload/images/20190930/201121828taAW6nf9T.png

因此我們調降名字label 的 Horizontal Content Compression Resistance Priority,讓它變成小於 switch 的749。如此到時候不夠空間顯示時,label 的文字將變成 …。

https://ithelp.ithome.com.tw/upload/images/20190930/20112182eIbWHKPDgQ.png

調整後結果

https://ithelp.ithome.com.tw/upload/images/20190930/20112182zyrLDWN9aJ.png

9.利用static cells 或 UITableViewDataSource 設定表格的內容

以下將Table View 的 content 設為 static cells

https://ithelp.ithome.com.tw/upload/images/20190930/201121828BKtyJf5KZ.png

10.執行iPhone 11 Max Pro模擬器,即可看到設定結果,alarm文字超過Switch的部份

會以.....來取代

https://ithelp.ithome.com.tw/upload/images/20190930/20112182Dx5J4fS5lz.png


上一篇
Day21:如何在沒有MacOS時設計MainStoryBoard的畫面
下一篇
Day23:熟練多頁面 App 和資料傳遞的技巧之心理測驗或問卷
系列文
iOS App初心者的30天試鍊31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言