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基本使用的更多相关文章

  1. UI控件(UISlider)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UISlider* slider = [[UISli ...

  2. UI第七节——UISlider详解

    - (void)viewDidLoad { [super viewDidLoad]; // 实例化UISlider,高度对外观没有影响 UISlider *slider = [[UISlider al ...

  3. iOS UISlider的使用

    UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值. 和按钮一样,滑块也能响应事件,还可像文本框一样被读取.如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作. 下 ...

  4. UISlider相关

    设置slider当前位置的图像 [slider setThumbImage:[UIImage imageNamed:@"dd.png"] forState:UIControlSta ...

  5. UISlider

    UISlider是iOS中的滑块控件 通常⽤于控制视频播放进度,控制⾳量等. 它继承于UIControl,滑块提供了⼀系列连续的值,滑块停 在不同的位置,获取到滑块上的值也不同.   minimumV ...

  6. UIProgressView和UISlider

    UIProgressView和UISlider两个控件长的很像,区别在于UISlider有一个可以改变进度的滑块.虽然样子差不多,提供的属性的功能也差不多,但是属性的名字差别比较大. UIProgre ...

  7. UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl

    UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...

  8. UISlider显示进度(并且实现图片缩放)

    图片展示效果如下: 其他没什么好说的,直接上代码: RootView.h: #import <UIKit/UIKit.h> @interface RootView : UIView @pr ...

  9. 音乐播放器 AVAudioPlayer、定时器、UISlider

    #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> @interface ViewController ...

  10. UISlider控件属性及方法(转)

    初始化一个Slider   UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)];   访问UI ...

随机推荐

  1. @Data注解简化代码

    1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how ...

  2. 使用uwsgi部署项目?

    方式1: 这种方式虽然比较方便,但是启动操作比较繁琐,每次都不能关闭窗口 安装uwsgi:pip3 install uwsgi 上传项目,部署web app 创建数据库,同步数据 运行django项目 ...

  3. 在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错误 ...

  4. shell编程题(五)

    打印root可以使用可执行文件数. echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)&q ...

  5. app内嵌h5分享到小程序分享功能

    if (this.GLOBAL.env !== 'production') { try { window.JSBridge.shareMiniProgramToWx('https://www.lexi ...

  6. Python(二)Marshmallow 库相关学习

    0. 前言 Marshmallow 是一个用于将 ORM 对象与 Python 原生数据类型之间转换的库.实现 object → dict.object → list.string → dict 和 ...

  7. Qt应用开发所需

    Qt判断当前操作系统? 可使用宏判断,例如: #ifdef Q_OS_MAC //mac ... #endif #ifdef Q_OS_LINUX //linux ... #endif #ifdef ...

  8. asp.net调用c++的dll

    只需要把dll文件拷贝到windows的system32目录下(64位系统为SysWOW64目录),如果操作系统为64位而dll为32位,还需在进程池启用32位支持.

  9. hadoop学习之HDFS原理

    HDFS原理 HDFS包括三个组件: NameNode.DataNode.SecondaryNameNode NameNode的作用是存储元数据(文件名.创建时间.大小.权限.与block块映射关系等 ...

  10. Laravel jwt 多表验证隔离

    为什么要做隔离 当同一个laravel项目有多端(移动端.管理端......)都需要使用jwt做用户验证时,如果用户表有多个(一般都会有),就需要做token隔离,不然会发生移动端的token也能请求 ...