SwiftUI 教學:使用 SwiftUI 來打造 Search Bar 原來那麼簡單!
最近,我收到一個問題,關於在 SwiftUI 專案中實作 Search Bar。與 UIKit 不同,SwiftUI 沒有內建的 Search Bar 物件可以使用。你或許可以使用 UIViewRepresentable 協定,以在 SwiftUI 專案中重用 UIKit 的 UISearchBar。但要使用純 SwiftUI 的方式來實作一個 Search Bar,其實並不困難。在這次的教學中,就讓我們來建立一個 [...]
SwiftUI 教學:利用 iPad 的 Swift Playgrounds 都可以學習 App 開發!
「我手上只有 iPad 而已,我可以用它來開發 iOS App 嗎?」 這是入門開發者最常問的問題。我一般的回應都是:「不行,你需要一台 Mac,來運行 Xcode 開發 iOS 程式。」 「那 iPad 的 Swift Playgrounds 呢?我可以用這個 App 來學習 Swift 和 App 開發嗎?」 相信你已經知道 [...]
SwiftUI 教學:認識手勢 (Gestures) 和 @GestureState
如果你曾試過使用 SwiftUI 框架,你可能已對手勢操作有初步認識。最常見的,就是用 onTapGesture 修飾器來處理使用者的觸控並做出相對的回應。此教學,我們將會深入來看如何在 SwiftUI 中處理不同的手勢。 這個框架提供幾個內建手勢,像是之前用過的點按 (tap) [...]
簡單解決 Xcode 11.3 的 Bug:無法把間距約束設為零?
如果你已經把 Xcode 升級到 11.3 版本,你會發現當你使用 Interface Builder 創建 App UI 時,無法將間距約束條件 (spacing constraints) 的值設置為零。你可以打開 Interface Builder,然後點擊 “Add new constraints” 來試試看,將其中一個約束條件設置為 0 後,它卻自動將其恢復為 [...]
SwiftUI 教學:如何建立星際大戰透視文字(Perspective Text)
如果你之前有使用過 UIKit,SwiftUI 的 Text 控制與 UIKit 中的 UILabel 非常相似。這是一個能夠顯示一 行或多行文字的視圖。這個 Text 控制無法編輯,不過對於在螢幕上呈現唯讀的資訊非常好用。舉例來說,你想要在畫面上呈現一個訊息,你可以使用 Text 來實作。 [...]
SwiftUI 小技巧:利用 Stack 簡單構建彈性的卡片視圖
歡迎閱讀 SwiftUI 小技巧系列教程!在這篇文章中,我們將實作一個常見的手機 UI 設計 —— Card UI。SwiftUI 框架讓我們輕易構建 App UI,我們會在文章中展示這一點。你將會看到我們可以使用堆疊 (stack)、圖像、和文本視圖,來像這樣創建卡片視圖 (card view)。 請注意,本篇教程需要你在 [...]
利用 SwiftUI 控件 讓你更彈性地設計專屬你的按鈕!
按鈕可以啟動 App 的特定動作,可以客製化背景,也可以加入標題或圖示。這個系統針對大部分使用狀況,提供了一些預先設計好的按鈕樣式。你也可以完全客製自己的按鈕。 - Apple 官方文件 我相信我不需要再解釋按鈕的用途,這是一個非常基本的 UI 控制元件,你在所有的 [...]
SwiftUI 小技巧:在 iOS 13 實作 Context Menu 加強與設備的互動!
較早之前,Apple 正式發佈了 iOS 13。當中除了深色模式 (Dark mode) 和其他新功能外,最新版本的 iOS 還展示了一種與設備互動的新方法,就是 Context Menu 。 Context Menu 功能與 3D Touch 中的 Peek & Pop 類似。兩者其中一個最大的分別,就是此功能可在所有運行 iOS 13 及以上版本的設備上使用,即使該設備不支持 [...]
SwiftUI 小技巧:利用 border 修飾符 輕鬆為按鈕或文本繪製邊框
有了 SwiftUI ,我們就可以使用 border 修飾符,輕鬆在按鈕 (button) 或文本 (text) 外圍繪製邊框,而且這方法更適用於所有視圖!比如說,你想要創建一個這樣的按鈕: 我們可以在按鈕物件上應用 border 修飾符,來創建有顏色邊框的按鈕: 但是,如果你的設計師想你創建一個像這樣的圓角邊框按鈕,你可以怎樣做呢? [...]
使用 IBDesignable 與 IBInspectable 製作更美觀的 UI 元件
一些開發者不喜歡使用介面建構器 (Interface Builder) 來建構 App UI。一切都可以使用程式來撰寫,即使是 UI 也不例外。我個人比較喜歡混合 Storyboard 與程式來佈局 App。 不過如果要教導初學者使如何建構 App,介面建構器比較能夠無痛上手。使用介面建構器來設計 [...]