声明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
/*
思路
1 单独创建UISlider类,设置滑块的属性
2 在要使用的类直接导入即可使用
*/
创建滑块
#import "MySlider.h"
@implementation MySlider
+(MySlider *)initWithFrame:(CGRect)frame minimumValue:(CGFloat)min maximumValue:(CGFloat)max
{
// 创建滑块的位置 、最小值和最大值
MySlider *myslider = [[MySlider alloc]init];
myslider.frame = frame;
myslider.minimumValue = min;
myslider.maximumValue = max;
return myslider;
}
@end
使用滑块的VC
#import "ViewController.h"
#import "MySlider.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 加载UI
[self loadingUI];
}
#pragma mark - 加载UI界面
-(void)loadingUI
{
MySlider *slider = [MySlider initWithFrame:CGRectMake(10, 100, 300, 10) minimumValue:10. maximumValue:100.];
slider.backgroundColor = [UIColor redColor];
[self.view addSubview:slider];
// 设置滑块当前值(也就是滑块的位置)
slider.value = 40.1;
// 右侧线条颜色
slider.maximumTrackTintColor = [UIColor yellowColor];
// 右侧的图片
slider.maximumValueImage = [UIImage imageNamed:@"21@2x.png"];
// 左侧线条颜色
slider.minimumTrackTintColor = [UIColor cyanColor];
// 左侧的图片
slider.minimumValueImage = [UIImage imageNamed:@"019@2x.png"];
// 滑块颜色 注意,默认滑块其实是没有大小的,所以直接给它附上颜色的话是不会显示出来的。
// slider.thumbTintColor = [UIColor blueColor];
[slider setThumbImage:[UIImage imageNamed:@"22@2x.png"] forState:UIControlStateNormal];
// 滑块的事件方法
[slider addTarget:self action:@selector(sliderToMove:) forControlEvents:UIControlEventValueChanged];
}
#pragma mark -滑块的事件方法
-(void)sliderToMove:(UISlider *)slider
{
NSLog(@"滑块的值不断变化,不断触发这个方法 %lf",slider.value);
}