UISlider基本使用
UISlider是一个很常用的UI控件,调节屏幕亮度或者调节音量大小等很多地方都可以用到,而且使用方便,下面我来介绍一下UISlider的基本使用。
首先介绍一下基本属性和常用方法:
//设置当前slider的值,默认为0.0
@property(nonatomic) float value;
//设置slider的最小值
@property(nonatomic) float minimumValue;
//设置slider的最大值
@property(nonatomic) float maximumValue;
//设置滑块左边的图片
@property(nullable, nonatomic,strong) UIImage *minimumValueImage;
//设置滑块右边的图片
@property(nullable, nonatomic,strong) UIImage *maximumValueImage;
//设置已完成部分轨道颜色
@property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor;
//设置未完成部分轨道颜色
@property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor;
//设置滑块颜色
@property(nullable, nonatomic,strong) UIColor *thumbTintColor;
//设置slider的值
- (void)setValue:(float)value animated:(BOOL)animated;
//设置不同状态下滑块的图片
- (void)setThumbImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置不同状态下滑动条左侧的图片
- (void)setMinimumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置不同状态下滑动条右侧的图片
- (void)setMaximumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
下面来看一个完整示例,通过滑动条来调整图片的透明度
#import "ViewController.h" @interface ViewController ()
@property(nonatomic,strong)UISlider *slider;
@property(nonatomic,strong)UIImageView *imageView;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.imageView];
[self.view addSubview:self.slider];
} //懒加载
- (UISlider *)slider{
if (_slider == nil) {
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(, , self.view.frame.size.width - , )];
//设置当前slider的值,默认是0
_slider.value = 0.5;
//已完成线条颜色
_slider.minimumTrackTintColor = [UIColor greenColor];
//未完成部分线条颜色
_slider.maximumTrackTintColor = [UIColor blackColor];
//滑块颜色
_slider.thumbTintColor = [UIColor grayColor];
//添加事件
[_slider addTarget:self action:@selector(valueChanged) forControlEvents:UIControlEventValueChanged]; }
return _slider;
} //懒加载
- (UIImageView *)imageView{
if (_imageView == nil) {
self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , self.view.frame.size.width, )];
_imageView.contentMode = UIViewContentModeScaleAspectFit;
_imageView.image = [UIImage imageNamed:@""];
_imageView.layer.masksToBounds = YES;
_imageView.layer.borderWidth = ;
_imageView.alpha = 0.5;
} return _imageView;
} - (void)valueChanged{
//滑动中随时改变透明度
[self.imageView setAlpha:self.slider.value];
} @end
UISlider基本使用的更多相关文章
- UI控件(UISlider)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UISlider* slider = [[UISli ...
- UI第七节——UISlider详解
- (void)viewDidLoad { [super viewDidLoad]; // 实例化UISlider,高度对外观没有影响 UISlider *slider = [[UISlider al ...
- iOS UISlider的使用
UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值. 和按钮一样,滑块也能响应事件,还可像文本框一样被读取.如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作. 下 ...
- UISlider相关
设置slider当前位置的图像 [slider setThumbImage:[UIImage imageNamed:@"dd.png"] forState:UIControlSta ...
- UISlider
UISlider是iOS中的滑块控件 通常⽤于控制视频播放进度,控制⾳量等. 它继承于UIControl,滑块提供了⼀系列连续的值,滑块停 在不同的位置,获取到滑块上的值也不同. minimumV ...
- UIProgressView和UISlider
UIProgressView和UISlider两个控件长的很像,区别在于UISlider有一个可以改变进度的滑块.虽然样子差不多,提供的属性的功能也差不多,但是属性的名字差别比较大. UIProgre ...
- UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl
UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...
- UISlider显示进度(并且实现图片缩放)
图片展示效果如下: 其他没什么好说的,直接上代码: RootView.h: #import <UIKit/UIKit.h> @interface RootView : UIView @pr ...
- 音乐播放器 AVAudioPlayer、定时器、UISlider
#import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> @interface ViewController ...
- UISlider控件属性及方法(转)
初始化一个Slider UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)]; 访问UI ...
随机推荐
- @Data注解简化代码
1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how ...
- 使用uwsgi部署项目?
方式1: 这种方式虽然比较方便,但是启动操作比较繁琐,每次都不能关闭窗口 安装uwsgi:pip3 install uwsgi 上传项目,部署web app 创建数据库,同步数据 运行django项目 ...
- 在eclipse中新建java问题报错:The type XXX cannot be resolved. It is indirectly referenced from required .class files
在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误 ...
- shell编程题(五)
打印root可以使用可执行文件数. echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)&q ...
- app内嵌h5分享到小程序分享功能
if (this.GLOBAL.env !== 'production') { try { window.JSBridge.shareMiniProgramToWx('https://www.lexi ...
- Python(二)Marshmallow 库相关学习
0. 前言 Marshmallow 是一个用于将 ORM 对象与 Python 原生数据类型之间转换的库.实现 object → dict.object → list.string → dict 和 ...
- Qt应用开发所需
Qt判断当前操作系统? 可使用宏判断,例如: #ifdef Q_OS_MAC //mac ... #endif #ifdef Q_OS_LINUX //linux ... #endif #ifdef ...
- asp.net调用c++的dll
只需要把dll文件拷贝到windows的system32目录下(64位系统为SysWOW64目录),如果操作系统为64位而dll为32位,还需在进程池启用32位支持.
- hadoop学习之HDFS原理
HDFS原理 HDFS包括三个组件: NameNode.DataNode.SecondaryNameNode NameNode的作用是存储元数据(文件名.创建时间.大小.权限.与block块映射关系等 ...
- Laravel jwt 多表验证隔离
为什么要做隔离 当同一个laravel项目有多端(移动端.管理端......)都需要使用jwt做用户验证时,如果用户表有多个(一般都会有),就需要做token隔离,不然会发生移动端的token也能请求 ...