13的話
這期是下個一百期的開始。很巧的是,我跟 Pofat 錄製的 podcast 也前進到第六季。
絕大多數的 iOS 開發者還沒有機會好好來用 SwiftUI,但這又是我最近比較有心得的東西,所以還是跟大家聊一下這塊。
排版方式是我很喜歡 SwiftUI 的一點。寫成下面這樣,再加上確定 Preview 100% 運作(需要開發團隊共識),就會很好維護。
還有一個小技巧。如果你想要把某個
Text
填滿畫面,可是Text
是依照文字內容來決定大小。我會寫Color.clear.overlay(Text("..."))
,因為 SwiftUI 的Color
是預設往外填滿,而.overlay
的尺寸是根據它加在什麼上面而定(.background
也是)。你甚至可以在 overlay 設定
alignment
。很適合在一張圖片上某個角落放個標籤那類的需求。最後說一個可能會顛覆你認知的東西。如果 app 有很多畫面需要疊加顯示(像 modal view 那樣),在 SwiftUI 裡我目前的作法不是用 present,而是把這些 views 都放在一個
ZStack
,然後需要顯示時去改變它們的opacity
與offset
就好了。好啦,這期的 SwiftUI 小教室就先到這裡。
🧪 iOS 15 Beta 3
這版其實是 WWDC 之後第一次打包的版本,所以才開始有 feedback 帶來的變化。
Xcode 13 Beta 3 如果你在第一時間就下載,請注意後來又推出了
13A5192j
這個 build。有些 SwiftUI API 回頭支援到 iOS 13,詳見最下面 weak self。iOS 15 Beta 3 改最多的應該是 Safari
🧪iOS 14.7 RC
🎒Apple 開學季專案(Back to School)
符合資格的話可以取得一台 AirPods。
📣確認 UIViewController 有被釋放的小技巧
這個技巧幾年前就看過了,簡單來說是在 dealloc 的時候播放提示聲。
@_sip_
Swift 中的 SPI 是 System Programming Interfaces 的意思。雖然不是正式的功能,但可以在內部 frameworks 之間開出一些 API,而外部看不到(有點類似 @testable
),頗實用的啊。原本的 PR 在此。
🤪Random Tweets
真的要趕快去試一下 Private Relay,就算 iOS app 沒問題,搞不好網站會受到影響。
這串值得一讀。
🎙weak self podcast 79: 為什麼有些 API 可以 backport
第六季正式開始
所謂 backport 的範例
💼職缺/履歷交流區
求才職缺:
CATCHPLAY+ Senior iOS Developer
如果你有 iOS 相關職缺或是求職履歷想要刊登在開發者週報,請見關於。