iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
Mobile Development

Swift iOS UIKit 初學者系列:從零開始開發互動式應用系列 第 11

【Day 11】探索 iOS 核心 UI 元件,提升應用的互動性與美觀度

  • 分享至 

  • xImage
  •  

導言

在 iOS 開發中,UIKit 提供了豐富的 UI 元件來幫助我們構建互動式應用。今天,我們將介紹一些常用的控件,包括 Segmented Control、Slider、Switch、Activity Indicator、Progress View、Page Control、Date Picker 等。這些元件雖然功能簡單,但在應用中扮演著重要的角色,例如:切換不同選項、顯示進度、讓使用者選擇日期等。

學習目標

  • Segmented Control:提供選擇不同分類的功能。
  • Slider:讓使用者能夠調整數值範圍,例如調整音量或亮度。
  • Switch:用來切換某個功能的開關,例如通知開關。
  • Activity Indicator:用於顯示某項操作正在進行中。
  • Progress View:顯示操作的進度,例如下載進度。
  • Page Control:顯示當前頁面位置,適合多頁式應用如圖片畫廊或教程引導頁。
  • Date Picker:允許使用者選擇日期或時間。
  • Visual Effect View with Blur:為視圖加入模糊效果,提升畫面的質感。
  • Color Well:讓使用者能夠選擇顏色。

Segmented Control

Segmented Control 是一個能讓使用者在多個選項間快速切換的控件。它通常用於區分不同的分類,像是 "熱門"、"最新" 或者 "推薦" 等。這個控件相對簡單,但能夠有效改善使用者操作的便利性。

  • 用途:適合用於切換不同頁面或功能的 UI,例如篩選商品分類、選擇不同模式等。
  • 屬性:可以自訂分段的標題、分段數量、選中狀態,以及使用者互動後的回應。
  • 設計技巧:Segmented Control 可以和 Content Offset 或 frame 設定結合,模擬日曆的 UI 設計。

Slider

Slider 是一個可以讓使用者調整數值範圍的控件。從控制音量到調整亮度,Slider 在很多應用場景中非常實用。

  • 用途:適用於需要範圍輸入的地方,如音量控制、亮度調整等。
  • 屬性:可設定最小值、最大值、當前值以及步進值。
  • 設計技巧:你可以使用顏色、標籤來指示當前值,增強視覺效果。

Switch

Switch 控件是一個開關狀態切換的元素,用於啟用或禁用某項功能。常見的應用場景包括通知開關、隱私設置等。

  • 用途:適用於開關類功能,例如 Wi-Fi、通知開啟或關閉。
  • 屬性:支持開啟和關閉狀態的樣式自訂,並能觸發事件來執行對應功能。
  • 設計技巧:可以搭配標籤顯示開關的狀態,更直觀地告知使用者。

Activity Indicator View

當一項操作需要花費時間時,例如網路請求或計算,Activity Indicator 能夠提示使用者操作正在進行中,從而減少等待的焦慮。

  • 用途:顯示正在處理的操作,例如文件上傳、網頁加載等。
  • 屬性:可以設定開始和停止的動畫,讓視覺效果更加流暢。
  • 設計技巧:在 Activity Indicator 停止後,搭配文字訊息顯示成功或失敗結果。

Progress View

Progress View 用於顯示長時間操作的進度,如文件下載、任務執行等。它可以讓使用者清楚知道操作的完成百分比。

  • 用途:應用於需要顯示進度的場景,例如上傳、下載任務。
  • 屬性:可設定進度條的顏色、樣式以及進度的數值。
  • 設計技巧:你可以搭配 UILabel 來顯示具體進度百分比或剩餘時間,增加可讀性。

Page Control

Page Control 是一種用於顯示當前頁面位置的元件,通常與 ScrollView 或 CollectionView 一起使用,讓使用者在多頁內容之間切換。

  • 用途:適合用於頁面瀏覽(如圖片畫廊、教程引導頁)等多頁式應用場景,顯示當前所處頁面並提供頁面切換的提示。
  • 屬性:可以設定點的顏色、頁面數量、當前頁面指示等屬性。
  • 設計技巧:將 Page Control 與滑動手勢或按鈕操作結合,讓使用者可以輕鬆切換頁面,也可使用自訂樣式讓頁面指示器更符合應用的整體風格。

Date Picker

Preferred Style : Wheels 、Compact、Inline

Date Picker 讓使用者可以選擇日期或時間,經常用於預訂、日曆應用、生日設定等場景。

  • 用途:適用於需要使用者選擇日期或時間的場景。
  • 屬性:提供多種樣式選擇,包括輪盤式、緊湊式(Compact)、內嵌式等。
  • 設計技巧:可以設定最小日期、最大日期範圍,並根據場景選擇不同的顯示模式,如倒數計時。

Visual Effect View with Blur

模糊效果視圖讓你的 UI 看起來更加精緻,特別是在需要背景半透明的情況下,例如彈出視窗、浮動按鈕等。

  • 用途:用於增加背景的模糊效果,讓前景內容更加突出。
  • 屬性:可以調整模糊強度及樣式(如亮色模糊、深色模糊)。
  • 設計技巧:通常與透明背景搭配使用,讓視圖內容與背景之間有更好的層次感。

Color Well

Color Well 提供一個簡單的顏色選擇工具,使用者可以點擊這個控件來選擇自己喜歡的顏色。

  • 用途:常見於需要自訂顏色的場景,如畫圖應用、圖形編輯工具等。
  • 屬性:可以限制顏色範圍,並支持透明度調整。
  • 設計技巧:Color Well 可以與預設調色板或顏色挑選工具整合,讓使用者更容易進行選擇。

附錄:已接觸的 UIKit 元件

Day 11 - Day 20

  • UISegmentedControl (Day 11)– 提供分類選擇功能。
  • UISlider (Day 11)– 讓使用者能夠滑動調整範圍值。
  • UISwitch (Day 11)– 用於切換功能的開關。
  • UIActivityIndicatorView (Day 11)– 顯示正在進行中的操作狀態。
  • UIProgressView (Day 11)– 顯示操作進度。
  • UIPageControl (Day 11)– 顯示當前頁面位置,適合多頁式應用。
  • UIDatePicker (Day 11)– 讓使用者選擇日期或時間。
  • UIVisualEffectView with Blur (Day 11)– 為視圖加入模糊效果。
  • UIColorWell (Day 11)– 顏色選擇工具。

上一篇
【Day 10】用 addSubview 打造視覺豐富的故事卡片:圖片、文字與動態效果的完美結合
下一篇
【Day 12】從選擇照片到地圖顯示,掌握 iOS SDK 內建 Controller。
系列文
Swift iOS UIKit 初學者系列:從零開始開發互動式應用13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言