UISlider跟UISwitch有点儿类似,都是继承自UIControl
既然UISlider是表示一个CGRange,那么就有一个最大值(maximumValue)和一个最小值(minimumValue),既然UISlider又是一个选择器,那么就有一个当前的选择值(value),这三个值都是UISlider的属性。
同样的,UISlider选择器被改变时,会触发UIControlEventValueChanged的事件,所以我们可以通过添加addTarget:::方法为事件添加处理方法。
#import "ViewController.h"
@interface ViewController ()
//滑动控件
@property(nonatomic,strong)UISlider *slider;
//标签控件
@property (nonatomic, strong)UILabel * myLabel;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//将滑动控件添加到视图上
[self.view addSubview:self.slider];
//将标签添加到视图上
[self.view addSubview:self.myLabel];
_slider.frame=CGRectMake((self.view.frame.size.width-300)/2,(self.view.frame.size.width)/2, 300, 50);
//minimunmValue 当值可以改变时,滑动为最小。默认为0.0
_slider.minimumValue=0.0;
//maximumValue 当值可以改变时,滑动为最大。默认为1.0
_slider.maximumValue=100;
//当前值为多少
_slider.value=20;
//设置为yes,在拖动滑块的时候,滑动的值会改变。默认值为yes
[_slider setContinuous:YES];
//设置最小处的图片。 默认为空
_slider.minimumValueImage=[UIImage imageNamed:@""];
//设置最大处的图片。 默认为空
_slider.maximumValueImage=[UIImage imageNamed:@""];
//小于当前滑动的颜色
_slider.minimumTrackTintColor=[UIColor blueColor];
//大于当前滑动的颜色
_slider.maximumTrackTintColor=[UIColor redColor];
//当前滑动值的颜色
_slider.thumbTintColor=[UIColor blueColor];
//添加事件
[_slider addTarget:self action:@selector(sliderbutton:) forControlEvents:UIControlEventValueChanged];
//对label位置
_myLabel.frame=CGRectMake((self.view.frame.size.width-100)/2, (self.view.frame.size.height)/2, 100, 60);
//字体
_myLabel.font=[UIFont systemFontOfSize:_slider.value];
//内容
_myLabel.text=@"你好";
/*
currentMaximumTrackImage :滑块条最大值处设置的图片
currentMinimumTrackImage : 滑块条最小值处设置的图片
currentThumbImage: 当前滑块的图片
*/
}
//初始化滑动控件
- (UISlider *)slider{
if (_slider==nil) {
_slider=[[UISlider alloc]init];
}
return _slider;
}
//初始化标签
- (UILabel *)myLabel{
if (_myLabel==nil) {
_myLabel=[[UILabel alloc]init];
}
return _myLabel;
}
//slider的事件
-(void)sliderbutton:(id)sender{
//确定一个对象是否是一个类的成员,或者是派生自该类的成员
if ([sender isKindOfClass:[UISlider class]]) {
//强制转化
UISlider *slider=(UISlider*)sender;
//字体大小
_myLabel.font=[UIFont systemFontOfSize:slider.value];
}
}