iOS swift UISlider改变进度条的高度和圆形滑块的大小

请添加图片描述

文章目录

  • 1.改变进度条的高度(亲测有效)
  • 2.改变圆形滑块的大小(亲测有效)

1.改变进度条的高度(亲测有效)

import UIKitclass CustomSlider: UISlider {// 设置轨道高度var trackHeight: CGFloat = 10// 重写 trackRect(forBounds:) 方法来自定义轨道的尺寸override func trackRect(forBounds bounds: CGRect) -> CGRect {// 获取默认的轨道矩形var rect = super.trackRect(forBounds: bounds)// 修改矩形的高度rect.size.height = trackHeightreturn rect}
}// 使用示例
let slider = CustomSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
slider.trackHeight = 20 // 设置进度条的宽度为20点

2.改变圆形滑块的大小(亲测有效)

import UIKitclass ViewController: UIViewController {override func viewDidLoad() {super.viewDidLoad()// 创建 UISliderlet slider = UISlider(frame: CGRect(x: 50, y: 100, width: 300, height: 50))self.view.addSubview(slider)// 创建一个50x50点的自定义滑块图像let thumbImage = UIImage(named: "customThumbImage") // 确保您有一个名为 "customThumbImage" 的50x50点的图像slider.setThumbImage(thumbImage, for: .normal)}
}
  • 用下面的方法圆形滑块的大小没有变化
import UIKitclass CustomSlider: UISlider {// 设置滑块的大小var thumbSize: CGSize = CGSize(width: 30, height: 30)// 重写 thumbRect 方法来自定义滑块的尺寸override func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {// 获取默认的滑块矩形let defaultRect = super.thumbRect(forBounds: bounds, trackRect: rect, value: value)// 计算新的滑块矩形let newRect = CGRect(x: defaultRect.origin.x, y: defaultRect.origin.y + (defaultRect.size.height - thumbSize.height) / 2, width: thumbSize.width, height: thumbSize.height)return newRect}
}// 使用示例
let slider = CustomSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
slider.thumbSize = CGSize(width: 40, height: 40) // 设置滑块的大小为40x40

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/621595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat 16 for MySQL:打造高效数据库开发管理工具

随着数据的快速增长和复杂性的提升,数据库成为了现代应用开发中不可或缺的一部分。而在MySQL数据库领域,Navicat 16 for MySQL作为一款强大的数据库开发管理工具,正受到越来越多开发者的青睐。 Navicat 16 for MySQL拥有丰富的功能和直观的界…

Jenkins-Maven Git

整合Maven 安装GIT #更新yum sudo yum update #安装git yum install git 安装Maven插件,在插件管理中心: 配置仓库 配置密码认证 我们可以在这个目录下看到Jenkins 帮我们拉取了代码 /env/liyong/data/docker/jenkins_mount/workspace/maven-job 配置maven打包…

[数据结构与算法]数据结构基础、排序算法详解、算法思想详解、领域算法详解------

# 数据结构基础 学习思路 避免孤立的学习知识点,要关联学习。比如实际应用当中,我们经常使用的是查找和排序操作,这在我们的各种管理系统、数据库系统、操作系统等当中,十分常用,我们通过这个线索将知识点串联起来&am…

go-zero

官网地址 go-zero初探 常见问题及常用命令 1、配置go的镜像,存在的可以不用进行配置,用官方的镜像下载太慢或下载不下来 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct 2、自动生成api后需要运行一下go mod tidy。用来加载…

启英泰伦推出「离线自然说」,离线语音交互随意说,不需记忆词条

离线语音识别是指不需要依赖网络,在本地设备实现语音识别的过程,通常以端侧AI语音芯片作为载体来进行数据的采集、计算和决策。但是语音芯片的存储空间有限,通过传统的语音算法技术,最多也只能存储数百条词条,导致用户…

python 入门基础 Introduction to Python Fundamentals

文章目录 注释单行注释多行注释 pass字符串格式化format%f-string(py3.6之后可用) 数据结构intstrboolfloat列表(list)字典(dict)集合枚举迭代器其他元组(tuple) 数值运算流程控制文件操作函数面向对象类方法继承与多态 对象复制上下文管理 异常模块包属性异步网络 注释 单行注…

Elasticsearch 索引文档时create、index、update的区别【学习记录】

本文基于elasticsearch7.3.0版本。 一、思维导图 elasticsearch中create、index、update都可以实现插入功能,但是实现原理并不相同。 二、验证index和create 由上面思维导图可以清晰的看出create、index的大致区别,下面我们来验证下思维导图中的场景&…

照片删除了怎么恢复回来

照片,对我们来说,这两个字眼再熟悉不过了,每一张照片都包含无比重要的意义,相信在大家的心目中,这些包含意义的照片都是无价的。怎样找回删除的照片? 既然这些照片对我们来说意义非凡,那如果不小…

通过 C++/WinRT 实现高级并发和异步

将工作卸载到 Windows 线程池 协同例程与任何其他函数的类似之处在于,调用方将会阻塞到某个函数向其返回了执行为止。 另外,协同例程返回的第一个机会是第一个 co_await、co_return 或 co_yield。 因此,在协同例程中执行受计算限制的工作之…

使用Guava Retrying优雅的实现业务异常重试

上次写过一篇如何使用spring retry来实现业务重试的文章:https://blog.csdn.net/Kingsea442/article/details/135341747 尽管 Spring Retry 工具能够优雅地实现重试,但它仍然存在两个不太友好的设计: 重试实体被限定为 Throwable 子类&#…

c++多久会被Python或者新语言取代?

c多久会被Python或者新语言取代? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&am…

方法重写。

altinsert 静态方法和非静态方法不一样 重写只与非静态方法有关 重载是指在一个类中定义多个同名的方法或者函数,但是这些方法或者函数的参数列表不同,即参数的类型、个数或者顺序不同。当调用这个同名方法或者函数时,编译器会根据实际传入的…

Elasticsearch的基本功能和使用

Elasticsearch ,简称为 ES,是一款非常强大的开源的高扩展的分布式全文 检索引擎,可以帮助我们从海量数据中快速找到需要的内容,它可以近乎实时的 存储、检索数据.还可以可以实现日志统计、分析、系统监控等功能. 官网:https://www.elastic.c…

QT+jenkins window环境实现一键自动化构建打包签名发布

jenkins + QT 自动化构建打包 1.官网下载地址: Jenkins download and deployment,下载最新版本的安装包并安装。安装过程中,会要求你输入端口号并记住。 2.java下载地址:Java Downloads | Oracle,下载最新版本的安装包并安装。 3.浏览器输入网址:127.0.0.1: port, port为…

【Docker】镜像的构建与上传下载阿里云

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 &…

C++ Primer 6.4 函数重载 知识点+练习题

C Primer 6.4 函数重载 定义重载函数重载和const形参const_cast和重载重载与作用域练习题 定义重载函数 void lookup(int a); void lookup(double b); void lookup(int a,double b); 此三个函数构成函数重载,具体调用时根据传入实参进行匹配void lookup(int a); bo…

【iOS】UIColor、CGColor、CIColor的区别和联系

编者在实验室小组的指导下,仿写了许多App,其中UI的颜色模仿也是令人头痛的点。设计颜色一般使用UIColor类方法直接获取颜色: 有时会使用 (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alph…

C++中什么时候应该使用结构体,什么时候应该使用类

第一点: 在C中,结构体和类都可以用来定义自定义数据类型, 它们之间的主要区别在于默认的访问控制和成员变量的默认初始化方式。 结构体: - 结构体的成员变量默认为public访问权限。 - 结构体的成员变量默认为公共可见的&#x…

代码随想录算法训练营day8|344.反转字符串、541.反转字符串II、54.替换数字、151.翻转字符串里的单词、55.右旋转字符串

344.反转字符串 541. 反转字符串II 卡码网:54.替换数字 151.翻转字符串里的单词 卡码网:55.右旋转字符串 344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用…

权限修饰符-面向对象——java学习笔记

什么是权限修饰符? 用来限制类中的成员(成员变量、成员方法、构造器、代码块...)能够被访问的范围 各权限修饰符的限制范围: 修饰符在本类中同一个包下的其他类里任意包下的子类里任意包下的任意类里private√缺省√√protec…