- SwiftUI 教程
- SwiftUI - 首頁
- SwiftUI - 概述
- SwiftUI vs UIkit
- SwiftUI 環境
- SwiftUI - 環境設定
- SwiftUI - 基本元件
- SwiftUI - 構建第一個應用程式
- SwiftUI 檢視
- SwiftUI - 檢視
- SwiftUI - 自定義文字檢視
- SwiftUI - 自定義影像檢視
- SwiftUI - 堆疊
- SwiftUI 繪製形狀
- SwiftUI - 形狀
- SwiftUI - 繪製線條
- SwiftUI - 繪製矩形
- SwiftUI - 繪製圓角矩形
- SwiftUI - 繪製三角形
- SwiftUI - 繪製圓形
- SwiftUI - 繪製星形
- SwiftUI - 繪製多邊形
- SwiftUI - 繪製餅圖
- SwiftUI - 使用內建形狀
- SwiftUI - 文字
- SwiftUI - 文字檢視
- SwiftUI - 文字輸入和輸出
- SwiftUI - 顏色
- SwiftUI - 顏色
- SwiftUI - 顏色選擇器
- SwiftUI - 漸變
- SwiftUI - 調整顏色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 陰影效果
- SwiftUI - 懸停效果
- SwiftUI - 動畫
- SwiftUI - 動畫
- SwiftUI - 建立動畫
- SwiftUI - 建立顯式動畫
- SwiftUI - 多個動畫
- SwiftUI - 轉場
- SwiftUI - 非對稱轉場
- SwiftUI - 自定義轉場
- SwiftUI - 圖片
- SwiftUI - 影像
- SwiftUI - 圖片作為背景
- SwiftUI - 旋轉影像
- SwiftUI - 媒體
- SwiftUI - 檢視佈局
- SwiftUI - 檢視佈局
- SwiftUI - 檢視大小
- SwiftUI - 檢視間距
- SwiftUI - 檢視填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 靜態列表
- SwiftUI - 動態列表
- SwiftUI - 自定義列表
- SwiftUI - 表格
- SwiftUI - 表單
- SwiftUI - 表單
- SwiftUI - 將表單拆分為多個部分
- SwiftUI 有用資源
- SwiftUI - 有用資源
- SwiftUI - 討論
SwiftUI - 顏色選擇器
SwiftUI - 顏色選擇器
在 SwiftUI 中,ColorPicker 是一個內建的 UI 元件,它允許使用者從調色盤中選擇顏色。它是一個簡單的顏色選擇介面。它始終嵌入在檢視中。
我們可以在各種容器中包含顏色選擇器,例如 VStack、HStack、List 等。ColorPicker 元件顯示當前選定的顏色以及一個大型系統顏色調色盤,使用者可以從中選擇新的顏色。
語法
以下是語法:
ColorPicker 需要一個儲存所選顏色的狀態變數。這裡當前選定的顏色是紅色。
@State var myColor = Color.red ColorPicker(_titlekKey: LocalizedStringKey, selection: Binding<CGColor>, supportsOpacity:Bool = true)
引數
此函式接受以下引數:
- text: 將在檢視上顯示的文字。或者我們可以說它是顏色選擇器的標籤。
- selection: 它包含與狀態變數的繫結連結。
- supportOpacity: 用於檢查給定的顏色選擇器是否允許調整不透明度。此引數的預設值為 true。
示例
以下 SwiftUI 程式用於在檢視上顯示靜態文字。
import SwiftUI
struct ContentView: View {
@State private var myColor: Color = .yellow
var body: some View {
VStack{
Image(systemName:"heart.fill")
.font(.largeTitle)
.background(myColor)
.clipShape(Rectangle())
ColorPicker("Select Color", selection: $myColor, supportsOpacity: true)
}
}
}
#Preview {
ContentView()
}
輸出
在 SwiftUI 中調整顏色選擇器的不透明度
顏色選擇器的不透明度表示顏色選擇器的顏色不透明的程度。預設情況下,顏色是不透明的,即非透明的。colorPicker() 支援一個名為“supportOpacity”的引數,我們可以使用它來新增和刪除不透明度滑塊。
預設情況下,此引數的值為 true,這意味著顏色選擇器將具有一個不透明度滑塊,我們可以從中調整顏色的不透明度。如果此引數的值為 false,則顏色選擇器將不包含不透明度滑塊。
語法
ColorPicker(_titlekKey: LocalizedStringKey, selection: Binding<CGColor>, supportsOpacity:Bool = true)
示例
以下 SwiftUI 程式用於調整不透明度滑塊。
import SwiftUI
struct ContentView: View {
@State private var myColor1: Color = .pink
@State private var myColor2: Color = .green
var body: some View {
VStack{
HStack{
Circle()
.fill(myColor1)
.frame(width: 150, height: 150)
Circle()
.fill(myColor2)
.frame(width: 150, height: 150)
}
// Color picker with opacity slider
ColorPicker("Select Color 1", selection: $myColor1, supportsOpacity: true)
// Color picker without opacity slider
ColorPicker("Select Color 2", selection: $myColor2, supportsOpacity: false)
}
}
}
#Preview {
ContentView()
}
輸出
在 SwiftUI 中自定義顏色選擇器
在 SwiftUI 中,我們允許建立自定義顏色選擇器。因此,為此,我們建立一個符合 View 協議的結構,然後在 body 屬性中實現自定義顏色選擇器。現在我們在 ContentView 中呼叫此函式以顯示自定義顏色選擇器。
import SwiftUI
struct MyColorPicker: View{
@Binding var mColor: Color
let colors:[Color] = [.yellow, .red, .green, .brown, .blue]
var body: some View{
ScrollView(.vertical){
HStack{
ForEach(colors, id: \.self){
c in Rectangle()
.fill(c)
.frame(width: 50, height: 50)
.onTapGesture {
mColor = c
}
}
}
}
}
}
struct ContentView: View {
@State private var myColor: Color = .red
var body: some View {
VStack{
Text("Colors:").font(.title)
MyColorPicker(mColor: $myColor)
.padding(30)
Text("Selected Color:").font(.largeTitle)
RoundedRectangle(cornerRadius: 5)
.fill(myColor)
.frame(width: 200, height: 200)
}
}
}
#Preview {
ContentView()
}
輸出
廣告