auto layout
簡單解決 Xcode 11.3 的 Bug:無法把間距約束設為零?
如果你已經把 Xcode 升級到 11.3 版本,你會發現當你使用 Interface Builder 創建 App UI 時,無法將間距約束條件 (spacing constraints) 的值設置為零。你可以打開 Interface Builder,然後點擊 “Add new constraints” 來試試看,將其中一個約束條件設置為 0 後,它卻自動將其恢復為 [...]
Swift DSL 實作:利用 Swift UI 寫出簡單又明瞭的 Auto Layout DSL
今年可以說是 Swift DSL 元年,建造者函數 (Builder functions) 與 SwiftUI 讓開發者們看到在 Swift 內設計內嵌 DSL 的各種可能性。雖然這樣說,但 Swift 一直以來都提供了許多 DSL 實作的功能,只是還沒有出現在官方框架而已。舉例來說,我們可以利用自訂運算子 (Operators) [...]
以編程方式使用 Auto Layout 讓你直覺又簡單地設計 App UI!
Auto Layout ㄧ直是 iOS 必學的技術之一,在 iOS 中你可以選擇使用 Storyboard 設置 Auto Layout,好處是非常直覺,而且多人使用時好懂,就算不大會 Swift / OC 都可以很容易做出想要的版面。最近公司面試需要出題,我也選擇了這個 Layout 題目。 為什麼喜歡用 Code Auto Layout? [...]
擷取佈局回饋循環 (Layout Feedback Loop) 解決記憶體耗盡問題
試想像這樣的一個情境:你的 App 非常成功,不但有許多使用者、並有 100% 未當機率 (Crash-free rate)。你非常開心,生活也棒極了。但在某個時間點,你開始在 App Store 上看到負評,說你的 App 經常閃退;但查閱 Fabric 卻沒有新的閃退訊息出現。哪是甚麼情況呢? [...]
Auto Layout學習指南:利用Visual Format Language和程式碼設定約束畫面佈局
做為一個iOS開發者,你應該知道在任何專案的待辦任務清單內,都會有視圖(views)以及子視圖(subviews)之間constraints設定的問題,無庸置疑,設定constraints(約束條件)是相當棘手的議題,它常常會讓你在開發應用程式時感到痛苦,但其實一切只取決於開發者是否理解它,事實上,約束條件就是你想要應用於螢幕上任何圖形元素的佈局規則,必須考慮視圖與子視圖在畫面上的位置、大小以及視覺關係,並且當設備的方向改變時,要定義UI元件的預設表現。 [...]
Swift 新手系列之三:Auto Layout 介紹
Auto Layout是一個以約束條件為基礎的佈局系統(constraint-based layout system),它讓開發者能夠開發一個能自我調整型的UI,可以依照螢幕的尺寸以及裝置的方向來調整。有些初學者會覺得這個部分很難,而儘量避免去使用它,但請相信我,當你習慣之後,Auto Layout會成為你之後無比仰賴、非常重要的App開發工具。 [...]
Auto Layout 入門教學
什麼地方出錯了?該怎麼做修正呢?問題的解答就是Auto Layout。Auto Layout 是一個以約束條件為基礎的佈局系統,它可以讓開發者建立一個可以因應不同螢幕尺寸與裝置(device)方向而調整的自適應介面(adaptive interface),我們很少在我們的教學文章中談到Auto [...]