SwiftUI中的Slider的基本使用

SwiftUI中,可以使用Slider視圖創建一個滑動條,允許用戶從范圍中選擇一個值。通過系統提供的Slider,用起來也很方便。

Slider

先看一個最簡單的初始化方法:
在這里插入圖片描述

  @State private var sliderValue: Float = 100var body: some View {VStack(spacing: 30) {Text("\(sliderValue)")Slider(value: $sliderValue)}}

Slider的初始化至少需要傳入一個@State修飾的變量,用來記錄滑動的數值。如果只是這樣初始化,那默認滑動條的范圍是從0到1,上面代碼中初始值給了100,那么顯示的時候滑動條的滑塊直接就在最右邊了,不過在滑動后,就變味0到1的數值了。

指定滑動范圍

默認的滑動范圍是0到1,我們也可以在初始化的時候傳入一個范圍,這樣滑動的取值就在這個范圍之內了。

  @State private var sliderValue: Float = 5var body: some View {VStack(spacing: 30) {Text("\(sliderValue)")
//      Slider(value: $sliderValue)Slider(value: $sliderValue, in: 0...10)}}

初始化方法中提供了一個in參數,可以傳入一個范圍。
在這里插入圖片描述

指定滑動步長

滑動步長指的是滑動時數值變化的距離。比如下面這個示例,我們將范圍設置為0到10,步長1,這樣滑動過程中,數值都是以整數變化,不斷加1.

  @State private var sliderValue: Float = 5var body: some View {VStack(spacing: 30) {Text(String(format: "%.0f", sliderValue))
//      Slider(value: $sliderValue)
//      Slider(value: $sliderValue, in: 0...10)Slider(value: $sliderValue, in: 0...10, step: 1)}}

在這里插入圖片描述

onEditingChanged

onEditingChanged是初始化中的一個閉包參數,在我們滑動過程中以及結束的時候調用這個閉包,閉包內返回一個bool類型的參數,滑動時為true,滑動結束后為false
比如下面的代碼,在滑動時修改顯示數字的顏色為紅色,滑動結束后改回黑色。

  @State private var sliderValue: Float = 5@State private var color: Color = .blackvar body: some View {VStack(spacing: 30) {Text(String(format: "%.0f", sliderValue)).foregroundColor(color)
//      Slider(value: $sliderValue)
//      Slider(value: $sliderValue, in: 0...10)
//      Slider(value: $sliderValue, in: 0...10, step: 1)Slider(value: $sliderValue, in: 0...10, step: 1) { isChanging incolor = isChanging ? .red : .black}}}

在這里插入圖片描述

minimumValueLabel和maximumValueLabel

minimumValueLabelmaximumValueLabel兩個初始化參數需要我們傳入Text組件實例,分別用來顯示在滑動條的左側和右側。

@State private var sliderValue: Float = 5@State private var color: Color = .blackvar body: some View {VStack(spacing: 30) {Text(String(format: "%.0f", sliderValue)).foregroundColor(color)
//      Slider(value: $sliderValue)
//      Slider(value: $sliderValue, in: 0...10)
//      Slider(value: $sliderValue, in: 0...10, step: 1)
//      Slider(value: $sliderValue, in: 0...10, step: 1) { isChanging in
//        color = isChanging ? .red : .black
//      }Slider(value: $sliderValue,in: 0...10,step: 1,label: {Text("Title")},minimumValueLabel: {Text("0")},maximumValueLabel: {Text("10")},onEditingChanged: { isChanging incolor = isChanging ? .red : .black}).padding(.horizontal).tint(.red)}}

在這里插入圖片描述
再給minimumValueLabelmaximumValueLabel賦值的時候,我們可以對Text組件設置想要的樣式。
上面代碼中我們給Slider添加了.tint修飾符,修改了滑動快左側部分的顏色。

最后,希望能夠幫助到有需要的朋友,如果覺得有幫助,還望點個贊,添加個關注,筆者也會不斷地努力,寫出更多更好用的文章。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16251.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16251.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16251.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[AIGC] mac os 中 .DS_Store 是什么

.DS_Store 是在 MacOS 系統中由 Finder 應用程序創建和維護的一種隱藏文件,用于保存有關其所在目錄的自定義屬性,例如圖標位置或背景顏色。 “.DS_Store” 是 “Desktop Services Store” 的縮寫。 .DS_Store 的作用 .DS_Store 文件在每個 Mac OS X 文…

ollama 使用,以及指定模型下載地址

ollama windows 使用 官網: https://ollama.com/ windows 指定 models 下載地址 默認會下載在C盤 ,占用空間 在Windows系統中,可以通過設置環境變量OLLAMA_MODELS來指定模型文件的下載和存儲路徑。具體操作步驟如下: 1.打開系統…

【python006】miniconda3環境搭建(非root目錄,最近更新中)

1.熟悉、梳理、總結項目研發實戰中的Python開發日常使用中的問題。 2.歡迎點贊、關注、批評、指正,互三走起來,小手動起來! 文章目錄 1.背景介紹2. 1.背景介紹 環境移植,可能影響部署本機環境信息,探索、總結移植有效…

輕量化微調相關學習

輕量化微調(Lightweight Fine-Tuning)是指在大型預訓練模型基礎上,通過修改或添加少量參數來進行模型適應性調整的一種方法,旨在減少計算資源消耗和避免過擬合問題,同時保持模型的性能。這種方法特別適用于資源有限或需…

一個程序員的牢獄生涯(36)夾帶

星期一 夾 帶 鄭所和小X州在小院子里說著話,盡管我豎起耳朵想要聽到他們的說話內容。但因為他們的說話聲音很低,我努力半天后,什么都聽不清。只能看到小X州恭恭敬敬的站在鄭所面前,不時地點頭答應著的樣子。 沒過多長時間,小X州從院子里返回了號子。我注意到他的臉上帶著一…

15、設計模式之責任鏈模式

責任鏈模式 顧名思義,責任鏈模式(Chain of Responsibility Pattern)為請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的設計模式屬于行為型模式。 在這種模式中,通…

搜索引擎--ES基礎概念

ES是一款開源的搜索引擎&#xff0c;相比于mysql&#xff0c;它提供了非常強大的搜索功能 下面我們需要簡單的了解一下ES相比于mysql中的一些基本概念的區別&#xff1a; 首先我們要知道es在存儲數據的時候都是以json格式來存儲的 mysql <------> ES&#xff1a; table…

【九十四】【算法分析與設計】練習四蠻力法練習,排列問題和組合問題,求解最大連續子序列和問題,求解冪集問題,求解0/1背包問題,求解任務分配問題

求解最大連續子序列和問題 給定一個有n&#xff08;n≥1&#xff09;個整數的序列&#xff0c;要求求出其中最大連續子序列的和。 例如&#xff1a; 序列&#xff08;-2&#xff0c;11&#xff0c;-4&#xff0c;13&#xff0c;-5&#xff0c;-2&#xff09;的最大子序列和為20…

pymysql.err.OperationalError: (1030, ‘Got error 168 from storage engine‘)

錯誤 pymysql.err.OperationalError: (1030, Got error 168 from storage engine) 通常與MySQL的InnoDB存儲引擎相關&#xff0c;它指示你試圖進行的操作超出了存儲引擎的能力或資源限制。具體來說&#xff0c;MySQL錯誤代碼168&#xff08;或“ER_TABLE_NEEDS_UPGRADE”&#…

[處理器芯片]-6 超標量CPU實現之浮點運算

1 浮點運算單元FPU 超標量CPU中的浮點運算單元是專門處理浮點數運算的關鍵組件。浮點運算單元的設計涉及多個復雜的子模塊和技術&#xff0c;以保證高效、準確地執行浮點數的加減法、乘法、除法、平方根等操作。 1&#xff09;浮點數術語 浮點數通常采用IEEE 754標準表示&…

顯示IPS技術

顯示器的IPS&#xff08;In-Plane Switching&#xff0c;平面轉換&#xff09;技術是一種先進的液晶面板技術&#xff0c;由日立公司在2001年推出。該技術優化了液晶分子的排列方式&#xff0c;采取水平排列&#xff0c;使得分子結構在遇到外界壓力時仍能保持穩定&#xff0c;不…

第 33 次CCF認證

1. 詞頻統計 題目描述 樣例輸入 代碼 #include <bits/stdc.h>using namespace std;int main() {int n,m;cin>>n>>m;vector<int> ans1(m,0),ans2(m,0);while (n --) {int t;cin>>t;vector<int> vis(m1,0);for (int i 1;i < t;i ) {i…

python去除html中<div>等

用beautifulsoup并不能將全部的去除得到剩余的txt&#xff0c;特別在興趣段找關鍵字的時候。 使用re模塊可以實現這個功能。 for a in a_d:em_name str(a.find(em))pattern re.compile(r<[^>]>, re.S)result pattern.sub(, em_name)result result.strip(\n)name_…

Spring Boot 中的HTTP請求方式詳解:優缺點與代碼示例

在Spring Boot中&#xff0c;有多種方式可以發起HTTP請求。主要的工具包括RestTemplate、WebClient和增強的AsyncRestTemplate。本文將詳細介紹每種請求方式及其優缺點&#xff0c;并給出代碼示例。 1. RestTemplate RestTemplate 是 Spring 提供的一個用于同步 HTTP 請求的客…

vxe-table v4 ~ v4.6 升級到 v4.7+ 版本

vxe-table v4 ~ v4.6 升級到 v4.7 版本 更新日志 vxe-table 4.7 分離了 vxe-table 表格和 vxe-pc-ui 組件庫 變動如下 全局安裝 // ... import VxeUITable from vxe-table import vxe-table/lib/style.css // ...createApp(App).use(VxeUITable).mount(#app)修改后 // ...i…

數據結構(五)

數據結構&#xff08;五&#xff09; 常見的排序算法內部排序交換插入選擇歸并基數 外部排序基于歸并的 常見的排序算法 內部排序 交換 冒泡&#xff1a;每一次運行總會將最小的或者最大的放到前面&#xff0c;如果需要交換&#xff0c;一直在交換 快速排序*&#xff1a;經過…

【java程序設計期末復習】chapter5 子類的繼承

子類的繼承 繼承是一種由已有的類創建新類的機制。利用繼承&#xff0c;我們可以先創建一個共有屬性的一般類&#xff0c;根據該一般類再創建具有特殊屬性的新類&#xff0c;新類繼承一般類的狀態和行為&#xff0c;并根據需要增加它自己的新的狀態和行為。由繼承而得到的類稱…

Git分支的操作詳解(查看、新增、切換、合并、刪除)

天行健&#xff0c;君子以自強不息&#xff1b;地勢坤&#xff0c;君子以厚德載物。 每個人都有惰性&#xff0c;但不斷學習是好好生活的根本&#xff0c;共勉&#xff01; 文章均為學習整理筆記&#xff0c;分享記錄為主&#xff0c;如有錯誤請指正&#xff0c;共同學習進步。…

2024最新前端面試八股文【基礎篇293題】

?、HTML、HTTP、web綜合問題 1 前端需要注意哪些SEO 2 <img> 的 title 和 alt 有什么區別 3 HTTP的?種請求?法?途 4 從瀏覽器地址欄輸?url到顯示??的步驟 5 如何進??站性能優化 6 HTTP狀態碼及其含義 7 語義化的理解 8 介紹?下你對瀏覽器內核的理解 9 …

【操作系統】發展與分類(手工操作、批處理、分時操作、實時操作)

2.操作系統發展與分類 思維導圖 手工操作階段&#xff08;此階段無操作系統&#xff09; 需要人工干預 缺點&#xff1a; 1.用戶獨占全機&#xff0c;資源利用率低&#xff1b; 2.CPU等待手工操作&#xff0c;CPU利用不充分。 批處理階段&#xff08;操作系統開始出現&#x…