[IOS]今天开始学UI---UISlider

Swift 使用 UISlider UISlider 跟 UISwitch 有点儿类似,都是继承自 UIControl 既然 UISlider 是表示一个 CGRange,那么就有一个最大值(maximumValue)和一个最小值(minimumValue),既然 UISlider 又是一个选择器,那么就有一个当前的选择值(value),这三个值都是 UISlider 的属性。 同样的,UISlider 选择器被改变时,会触发 UIControlEventValueChanged 的事件,所以我们可以通过添加 addTarget::: 方法. 阅读详情

UISlider类似于UIProgressView 只不过他的progress是我们来调整的

下图就是UISlider


UISlider中有value属性指示此时的值

minimumValue指示该控件所能设置的最小值

maximumValue指示该控件所能设置的最大值

minimumValueImage出现在划条最左边的图片

maximumValueImage出现在划条最右边的图片

continuous BOOL型 指示 数值变化是离散的还是连续的  当你给UISlider添加事件响应的时候 当然不希望一直在触发EventValueChange事件

图解控件




源码附上

@interface ViewController ()
@property (nonatomic,strong) UISlider *slider1;
@property (nonatomic,strong) UISlider *slider2;
@property (nonatomic,strong) UISlider *slider3;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    [self configurationSlider1];
    [self configurationSlider2];
    [self configurationSlider3];

}

-(void)configurationSlider1{
    _slider1 = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 250, 30)];
    CGPoint center = self.view.center;
    _slider1.center = CGPointMake(center.x, center.y-100);
    _slider1.maximumValue = 100;
    [self.view addSubview:_slider1];
}

-(void)configurationSlider2{
    _slider2 = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 250, 30)];
    CGPoint center = self.view.center;
    _slider2.center = CGPointMake(center.x, center.y);
    _slider2.maximumValue = 100;
    [_slider2 setThumbTintColor:[UIColor redColor]];
    _slider2.minimumTrackTintColor = [UIColor blueColor];
    _slider2.maximumTrackTintColor = [UIColor greenColor];
    [self.view addSubview:_slider2];
}

-(void)configurationSlider3{
    _slider3 = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 250, 30)];
    CGPoint center = self.view.center;
    _slider3.center = CGPointMake(center.x, center.y+100);
    _slider3.maximumValue = 100;
    [_slider3 setMinimumTrackImage:[UIImage imageNamed:@"slider_blue_track.png"] forState:UIControlStateNormal];
    [_slider3 setMaximumTrackImage:[UIImage imageNamed:@"slider_green_track.png"] forState:UIControlStateNormal];
    [_slider3 setMinimumValueImage:[UIImage imageNamed:@"increment1.png"]];
    [_slider3 setMaximumValueImage:[UIImage imageNamed:@"increment2.png"]];
    [_slider3 setThumbImage: [UIImage imageNamed:@"x_icon.png"] forState:UIControlStateNormal];
    [self.view addSubview:_slider3];
}

@end<img src="https://img-blog.youkuaiyun.com/20150807171134203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />


图片

slider_blue_track.png

slider_green_track.png


increment1.png


increment2.png


x_icon.png




最后如果要做赏心悦目的 UI还是找个会PS的妹子做老婆把~


that's all

thx 


Everything you see on Screen is UIView.





UISlider - 滑动条 UISlider继承关系 NSObject ->UIResponder -> UIView ->UIControl -> UISlider 概述使用UISlider类创建和管理一个范围选择器,用户可通过拖动滑块来选择一个中间值。 当用户滑动滑块按钮的时候,UISlider会发送UIControlEventValueChanged消息,通过侦听这个消息,做出相应的处理。外观属性示意图可用下图 阅读详情

相关推荐

Simulink模型自动生成iOS App:从算法到移动应用的全链路实践

模型驱动开发(Model-Based Design)是一种通过图形化建模进行系统设计和仿真的工程方法,其核心原理是将数学模型作为开发过程的唯一事实来源,通过自动代码生成技术将模型转换为可执行代码。这一技术能显著提升算法开发效率、保证实现一致性,在嵌入式系统、控制算法和信号处理等领域具有重要价值。其典型应用场景包括无人机飞控、汽车电子和机器人系统等需要快速原型验证和部署的领域。本文聚焦于将Simulink算法模型部署到iOS移动设备的实践,详细解析了如何通过Simulink Coder生成优化代码,并在Xco

cuemes08808的博客 401

iOS UISlider和UIStepper控件

UISlider控件用于设置指定范围的值。 1. 主要属性 属性 说明 minimumValue 设置最小值,默认是0.0 maximumValue 设置最大值,默认是1.0 value 设置默认值,默认是0.0 continuous 滑动时,value是否随时变化,默认是YES minimumValueImage 设置滑块最左端显示的图片 maximumValueImage 设置滑块最右端显示的图片 thumbTintColor 设置滑块颜色 minimumTr

假装你是大灰狼的专栏 1972

NGUI 3.8.2与Shader Forge 1.27实战:老项目UI与特效优化指南

在Unity游戏开发中,UI渲染与着色器(Shader)技术是构建丰富视觉表现的核心。UI系统负责界面元素的绘制与交互,其底层通过合批(Batching)机制优化绘制调用(Draw Call)来提升性能。而着色器则定义了物体表面的视觉呈现规则,通过处理纹理、颜色与光照,实现从基础显示到复杂特效的渲染。在存量项目维护与特定性能优化场景下,经典的NGUI系统与Shader Forge可视化编辑器因其极高的代码效率、成熟的资产生态与独特的性能特性,依然是不可替代的解决方案。本文聚焦于NGUI 3.8.2的Draw

weixin_33910137的博客 423

UISlider自定义、分段式滑动

最近又在开发一个电子书阅读器,设计师设计的UI很美观漂亮,但是无奈系统自带的滑动进度控制器太丑,不好看,不得不进行二次封装处理达到设计师的要求! 下面就是系统自带的UI展示,可以看出很音调,难看!也许是苹果的设计极简主义。 奈何对于产品而言,这样的展示太不符合要求,以下将对本次的开发做以记录有兴趣的同学可以参考研究。 先看看实现的效果1、2、3! iconSize()是一个内联函数,其实现目的是在不同设备上输出不同的高度大小,比如一个小图标在320X640的上大小为34,而在1242X2208的设

carbonzhao的专栏 2530

iOS开发中的滑块控件:使用UISlider实现交互式滑动

在上述代码中,我们首先通过IBOutlet将滑块控件连接到视图控制器中的slider属性。在视图加载完成后,我们设置滑块的初始值为0.5,并添加一个目标-动作方法(target-action),用于监听滑块值的改变事件。在目标方法sliderValueChanged(_: )中,我们可以通过slider.value获取滑块的当前值,并进行相应的处理。通过添加滑块值改变的事件监听,我们可以获取滑块的当前值,并进行相应的处理。例如,你可以设置滑块的最小值和最大值,修改滑块的外观样式,以及为滑块添加动画效果等。

2301_79331230的博客 972

1.深入浅出:理解三极管截止、放大和饱和状态!——参考《模拟电子技术基础》清华大学华成英主讲

幼儿园水平理解三极管截止、放大和饱和状态!书上看不懂,听课听不懂的过来! 绕不开的三极管结构 以NPN为例,晶体三极管的结构,这是很多人不想看的,但是确实是非常重要的!不看结构是理解不了工作原理的! (这样记忆:N是negative,负,代表多子为电子;P是positive,正,代表多子为空穴) 注意观察三极管的结构,有助于理解工作时的状态。 两张图结合起来看,略作解释: 1.图中空心为空穴带正...

Hardware_harder的博客 4万+

UISlider 延迟调用touchesBegan,延迟调用valueChangeHandle。delay?

今天遇到一个体验问题。播放器的UISlider的thumbImage在拖拽后不是立即响应,而是等了0.3或0.5或1秒后才响应。(如何扩大thumbImage的响应区域,可百度)。如图所示: 虽然hitTest已经是UISlider了,但是,仍然登录0.x秒才执行touchesBegan:和valueChangeHandle:方法: 2020-04-08 23:...

郭晓东的专栏 836

Streamlit安装避坑指南:从零到一键启动你的第一个数据可视化应用

本文提供了一份详尽的Streamlit安装避坑指南,帮助用户从零开始快速启动第一个数据可视化应用。文章深入剖析了安装过程中常见的网络超时、依赖冲突、环境变量缺失等核心问题,并给出了使用虚拟环境、配置国内镜像源、利用.whl文件离线安装等多种经过验证的解决方案,确保安装过程顺畅无阻。

weixin_29065015的博客 614

我的iOS学习历程 - UISlider(简单的设置一组图片动画)

今天我们学习的是UISlider,就是平时看视频听音乐等的进度条的设置今天设置的slider是控制播放一组图片速度的例子(附带实现点击按钮进行倒计时)

qwe845751403的博客 1954

解密QtIFW高级配置:用XML+JS打造品牌化安装界面(含动态水印/多语言技巧)

本文深入探讨了如何利用Qt Installer Framework(QtIFW)的高级配置功能,通过XML和JavaScript打造专业、品牌化的软件安装界面。文章详细解析了企业级项目目录结构设计、模块化配置文件编写、CSS样式表深度定制、动态水印实现以及智能多语言许可证管理等核心技巧,旨在帮助开发者超越基础打包,为Windows和Linux平台构建具有卓越用户体验的安装程序。

read5的博客 528

STM32CubeMX | HAL库实战:ADC多通道采集模式深度解析(轮询、DMA、TIM触发)

本文深度解析了基于STM32CubeMX与HAL库实现ADC多通道数据采集的三种核心模式:轮询、DMA以及TIM触发DMA。文章通过对比分析,详细阐述了各模式的配置要点、适用场景与潜在陷阱,旨在帮助开发者根据实时性、CPU占用及采样精度等需求,选择并实现高效稳定的多通道数据采集方案。

postgres8guard的博客 971

系列:iOS 开发-基础控件

之前讲了一大堆数据类型,当然我只是调了几个说说,仍然不是全部,不如时间类型NSDate……这里我也不举例子了,数据类型的学习大致都是一样的,我们现在可以不究其原理和实现过程,我们现在才刚刚开始学习,那么我们先学会怎么用,等我们用熟悉了,我们再去做进一步的探究. 好了,不说废话了,今天开始,讲一讲iOS开发中除了数据类型之外,可以让用户看到的那些东西,基础空间,比如按钮,比如图

spicyShrimp的博客 1768

Windows上python的spark环境搭建

1.安装好JDK 下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量: 新建系统变量JAVA_HOME,值为Java安装路径 新建系统变量CLASSPATH,值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意最前面的圆点) 配置系统变量PATH,添加 %JAVA_HOME%bin;%JAVA_HOME%jrebin 在CMD中输入:java或者java -version,不显示不是内部命令等,说明安装成功。

weixin_43915303的博客 651

新手自定义UISlider,可做Slider,也可做ProgressBar

UI设计给出了设计图,界面却是不错,看着霸气十足,可是里面的控件,都需要自定义,没有一个不需要折腾的,也罢,就一直在折腾了。折腾中遇到一个问题,UISlder的完全自定义,完全摒弃原生态的东西,开始有点无厘头,慢慢页折腾出来了,今天给出一些关键代码和demo,只是简单的实现,很多功能有待发掘。 首先看一下UI给出的效果图: 网上有一种自定义UISlider的方法,但是最后放弃了

944

AI初识—LLM、Ollama、Llama都是些个啥?

LLM指的是大语言模型(Large Language Model),是一种基于深度学习的模型,能够理解和生成自然语言。它通过大量文本数据进行训练,具备了理解上下文、生成连贯文本和回答问题的能力。著名的LLM包括OpenAI的GPT系列和Google的BERT。在AI技术快速发展的背景下,LLM、Ollama和Llama代表了现代自然语言处理的不同方面。LLM为我们提供了强大的语言理解能力,Ollama为模型的部署和管理提供了便利,而Llama则在效率和多样性上不断推进。

小蜗牛的珍贵百宝箱 4628

关于RT-Thread中PWM无法正常输出的学习

按照官方的PWM配置,并没有输出PWM,网上有比较多的办法,试了很多,有些还是不能实现输出,这里做个记录。记录自己完成PWM输出的过程,以及修改的地方。 关于STM32CubeMX配置就不多说了,网上有很多。 首先必定是按照流程来,一定一定按照流程来!!! 需要注意的是加上通道数!!!! 这是流程上没有的,也是RTT的一点小BUG吧 配上board.c中添加的代码,我用的是PA2定时2的通道3,需要使用的朋友修改对应定时器和GPIO! void HAL_TIM_Base_MspInit(TIM_Han

weixin_42566346的博客 3552

iOS-学习笔记-UI-第二天

回顾: 1.创建一个APP 2.运行iOS APP 3.UIWindow的介绍 4.控制器+视图 5.视图:UIView             UIControl ——>控件(具有一些高级事件) 6.UILabel    UIButton 7.frame ——> CGRect类型 今天: ​1.IB

611

从零到一:Mx_yolo本地训练与K210部署实战指南

本文详细介绍了从零开始进行Mx_yolo本地模型训练到K210部署的全流程实战指南。涵盖环境配置、数据准备、模型训练与调优、模型转换及K210部署等关键步骤,并提供了常见问题解决方案和性能优化技巧,帮助开发者高效完成AI模型在嵌入式设备的落地应用。

weixin_29081163的博客 251

iOS5新开发的API总述——WWDC 2011

原文:http://alloc.sinaapp.com/?p=208 iOS5发布了好长时间,一直没有时间好好看一下,从今天开始重新学一下WWDC2011,以便了解一下iOS5的新功能. 此篇只简单介绍一下iOS新的API.参考官方1-01 Session 100 – What’s New in Cocoa Touch. 1.UIStepper iOS5新UI

程序人生 1930

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IronClaw 消息投递(Delivery)指南:理解 `builtin__outbound_deliver`、投递证据与 Routine 语义

这篇技术指南以 IronClaw 循环合约中的投递准则文档([delivery.md](https://link.gitcode.com/i/e8860a4d2058ae34b437f56d5b24dee7))为核心,结合 [outbound_deliver.rs](https://link.gitcode.com/i/e9c3ecd2671dc69d712738feda87f73f)、[sche

gitblog_00659的博客 639

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

iOS从零开始学习直播之音频2.后台播放和在线播放

本篇主要讲音频的后台播放和在线播放。 后台播放   上一篇写的工程运行之后程序退至后台,发现运行不了,歌停止了,这显然不行,音乐后台播放是标配啊。今天就来讲一下后台播放。 1.在plist文件里,告诉系统这是一款音乐软件。 <key>Required background modes</key> <array> <string&gt...

weixin_34405557的博客 370

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Iphone开发(五)用滑块slider来调节控件透明度

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的优快云专栏,原文地址:http://blog.youkuaiyun.com/holydancer/article/details/7400397 控件UISlider称之为滑块,用户可以进行拖拽,可以通过拖拽来调节一些信息,比如音量,背光亮度等,我们今天用滑块来调节一下控件的透明度。 首先去网上找一个iphone

黑菜妞妞的专栏 587

遥控器就是遥控器:老电视装上 my-tv,三分钟看免费电视直播

把遥控器拿在手里,上上下下就是换台——这件事本来是电视最自然的交互,可不少老电视和盒子如今只剩一个臃肿的点播系统,想找个台还得层层点菜单。my-tv 是一个免费的安卓电视直播软件:安装即用,不注册、不登录、不开通任何会员,装上之后遥控器直接开播,智能电视和电视盒子都适用。 ## 📺 APK 怎么送进电视:三种装法与首次启动判据 装法按通用程度排下来是这样的: 1. **U 盘安装(最通用)

gitblog_00851的博客 276
上一篇: [IOS]今天开始学UI---UISegmentedControl&&UIStepper
下一篇: [IOS]今天开始学UI---UITextField&&UITextView
HeapStackk
博客等级 码龄12年 11粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值