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.mzph.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…