開發者週報 #100 is 101

Apple/iOS 開發者的一週大小事 2021/07/12-2021/07/18

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 帶來的變化。

🧪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 的範例

💼職缺/履歷交流區

求才職缺:

如果你有 iOS 相關職缺或是求職履歷想要刊登在開發者週報,請見關於