UISlider

116 阅读1分钟
#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong) UISlider *slider;
@property (nonatomic, strong) UILabel *label;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 将UISlider添加到一个UIView视图中
    [self.view addSubview:self.slider];
    // 将UILabel添加到一个UIView视图中
    [self.view addSubview:self.label];
}

- (UISlider *)slider {
    if (!_slider) {
        // 创建一个UISlider
        _slider = [[UISlider alloc] init];
        _slider.frame = CGRectMake(0, 0, 200, 22);
        // 定位UISlider的位置
        _slider.center = self.view.center;
        // 设置UISlider的最小值和最大值
        _slider.minimumValue = 2;
        _slider.maximumValue = 50;
        // 设置UISlider的初始值
        _slider.value = 12;
        // 为UISlider添加事件方法
        [_slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
        // 定义UISlider的样式
        _slider.minimumTrackTintColor = [UIColor redColor];
        _slider.maximumTrackTintColor = [UIColor greenColor];
        _slider.thumbTintColor = [UIColor blueColor];
    }
    return _slider;
}

- (UILabel *)label {
    if (!_label) {
        // 新建一个UILabel对象
        _label = [[UILabel alloc] init];
        _label.frame = CGRectMake(30, 300, [UIScreen mainScreen].bounds.size.width - 60, 50);
        _label.textAlignment = NSTextAlignmentCenter;
        _label.backgroundColor = [[UIColor yellowColor] colorWithAlphaComponent:0.2];
        // 设置这个UILabel对象的字体为系统字体,大小为当前UISlider的值
        _label.font = [UIFont systemFontOfSize:_slider.value];
        _label.text = @"XCoder Studio";
    }
    return _label;
}

- (void)sliderValueChanged:(id)sender {
    if ([sender isKindOfClass:[UISlider class]]) {
        UISlider *slider = (UISlider *)sender;
        _label.font = [UIFont systemFontOfSize:slider.value];
    }
}

@end