UISlider跟UISwitch有點兒類似,都是繼承自UIControl
既然UISlider是表示一個CGRange,那么就有一個最大值(maximumValue)和一個最小值(minimumValue),既然UISlider又是一個選擇器,那么就有一個當前的選擇值(value),這三個值都是UISlider的屬性。
同樣的,UISlider選擇器被改變時,會觸發(fā)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];
//內(nèi)容
_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];
}
}