ui
SwiftUI TabView 教學:利用 PageTabViewStyle 建立 Paged Scrolling 視圖
在之前的這篇教學中,我們教過大家如何使用 TabView,來顯示 tab bar 界面。在 iOS 14 中,Apple 在 SwiftUI 框架引入了一個新的樣式:PageTabViewStyle,讓開發者創建頁面滾動 (paged scrolling) 界面。在這篇教學中,我們會教大家實作這種 tab 視圖樣式。 讓我們從一個簡單的 [...]
利用 EarlGrey 做 UI Test 強化你的 UI 測試流程
在軟體的開發過程中,我們一定會需要測試我們做出來的東西是不是運作正常。以手機開發為例,我們通常都是咻咻咻地寫好一堆程式之後,把它丟到手機或模擬器上面執行,然後東點一點西點一點,看看是不是一切都運作正常。這樣的流程雖然運作正常,但是卻非常花時間,而且很容易漏掉該測試的項目。如果要簡化這個流程,你就會需要電腦來幫你做自動化測試 [...]
SwiftUI 小技巧:透過 PreferenceKey 簡單對齊視圖
假設你有一個包含三個 TextField 的簡單視圖,並且編寫了下列程式碼: 運行時,你希望會看到這樣的畫面: 但是,你記得自己閱讀過有關 Spacer() 的內容,因此嘗試將其添加到 Text 和 TextField 物件之間。 你猜怎麼了?甚麼都沒有改變。 所以你開始在網路上尋找解決方案,但甚麼都沒有用。然後,一個朋友問你有否看過 [...]
利用 SwiftUI 元件 大幅簡化 TabView 的管理流程!
像 Wikipedia 和 Facebook 這樣多模式 App,會使用 TabBar 介面來讓使用者從不同操作模式中切換,例如 Wikipedia 上有 History、Places、Saved、Search 四個 Tab。一般來說,我們會將 TabBar 與 UITabBarController 物件結合使用,但也可以在 App 中將它們用作獨立控件。TabBar 總是出現在螢幕最底部,並顯示一個或多個 [...]
利用尺寸類別 (Size Classes) 建構自適應佈局 靈活為不同螢幕尺寸做開發
以前,建構用於 iOS 的使用者介面非常容易,因為只有一種 iPhone 尺寸。但隨著時代的演進,我們現在會遇到許多不同 iPhone 的螢幕尺寸以及方向。 試想像一下,當我們要把在佈局顯示於不同尺寸的螢幕上,要如何對佈局進行調整? 為了達到這個目的,我們必須針對每個視圖元素,開發各自的條件 [...]
在 Google Maps 上繪製曲線 (Curved Lines) 風格新穎又省錢!
你知道嗎?當你在 Google Maps 使用 Google Directions APIs 繪製從位置 A 到位置 B 的路線時,費用非常高昂。 目前有些公司將真實路線轉換為像 Uber 那樣的直線,或者像 Deliveree 那樣的曲線。 因此,我認為本篇文章對以下讀者有所幫助: 想要畫出新風格的路線 不想付錢到 [...]
利用 SwiftUI 控件 讓你更彈性地設計專屬你的按鈕!
按鈕可以啟動 App 的特定動作,可以客製化背景,也可以加入標題或圖示。這個系統針對大部分使用狀況,提供了一些預先設計好的按鈕樣式。你也可以完全客製自己的按鈕。 - Apple 官方文件 我相信我不需要再解釋按鈕的用途,這是一個非常基本的 UI 控制元件,你在所有的 [...]
使用 IBDesignable 與 IBInspectable 製作更美觀的 UI 元件
一些開發者不喜歡使用介面建構器 (Interface Builder) 來建構 App UI。一切都可以使用程式來撰寫,即使是 UI 也不例外。我個人比較喜歡混合 Storyboard 與程式來佈局 App。 不過如果要教導初學者使如何建構 App,介面建構器比較能夠無痛上手。使用介面建構器來設計 [...]
讓 iPad App 支援 Apple Pencil 2 大大增強使用者體驗!
在 2018 年 10 月,Apple 推出了全新的 iPad Pro 和 Apple Pencil 2.0。不同於上一代的 Apple Pencil,這次官方還為開發者提供了一些有趣的 API 應用方式,以增強 App 的功能與使用者體驗 (User Experience)。在本篇教學中,我將讓你了解如何讓你的 App 支援 Apple Pencil。 來開始吧! [...]
利用 UIViewPropertyAnimator 製作進階動畫 為 App 增強使用者體驗!
動畫很酷,它們是 iOS Human Interface Guidelines(介面設計指南)的重要組成部分。動畫可以幫助開發者吸引使用者注意重要的事情,或者替 App 添加一些樂趣。 在 iOS 中,有幾個方法可以實作動畫,最常見到的可能就是 UIView.animate(withDuration:animations:)。你亦可以使用 [...]