UISlider的基本使用方法


UISlider提供了一个CGFloat的CGRange的范围的选择器,就是说给定一个CGRange,然后我们可以从中选择一个点。

其选择器样式如下:

UISlider选择器

UISlider选择器

上面这个样式当然不是iOS 7的自身样式,是经过一次定制后的。

UISlider跟UISwitch有点儿类似,都是继承自UIControl,这里步骤就跟UISwitch一样了,创建一个UISlider对象,然后将UISlider对象添加到一个UIView视图中。

既然UISlider是表示一个CGRange,那么就有一个最大值(maximumValue)和一个最小值(minimumValue),既然UISlider又是一个选择器,那么就有一个当前的选择值(value),这三个值都是UISlider的属性。

同样的,UISlider选择器被改变时,会触发UIControlEventValueChanged的事件,所以我们可以通过添加addTarget:::方法为事件添加处理方法。

就如前面所说,上面所展示的UISlider的样式是经过定制了的,所以我们同样可以定制一个UISlider的样式,样式同样有只更改颜色的样式和图片样式,更改UISlider的样式主要更改三部分:minimumTrackTintColor、maximumTrackTintColor和thumbTintColor。他们分别在UISlider对应的位置如下:

UISlider的样式修改三部分

代码事例:

//
//  XCViewController.m
//  UISlider的基础知识
//
//  Created by Mr. Right on 13-10-17.
//  Copyright (c) 2013年 XCoder Studio. All rights reserved.
//
 
#import "XCViewController.h"
 
@interface XCViewController ()
 
@property (nonatomic, strong)UISlider * mySlider;
@property (nonatomic, strong)UILabel * myLabel;
 
@end
 
@implementation XCViewController
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    // 创建一个UISlider
    _mySlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 200, 23)];
    // 定位UISlider的位置
    _mySlider.center = self.view.center;
    // 设置UISlider的最小值和最大值
    _mySlider.minimumValue = 2;
    _mySlider.maximumValue = 50;
    // 设置UISlider的初始值
    _mySlider.value = 12;
    // 为UISlider添加事件方法
    [_mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
 
    // 定义UISlider的样式
    _mySlider.minimumTrackTintColor = [UIColor redColor];
    _mySlider.maximumTrackTintColor = [UIColor greenColor];
    _mySlider.thumbTintColor = [UIColor blueColor];
 
    // 新建一个UILabel对象
    _myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, 320, 50)];
    // 设置这个UILabel对象的字体为系统字体,大小为当前UISlider的值
    _myLabel.font = [UIFont systemFontOfSize:_mySlider.value];
    _myLabel.text = @"XCoder Studio";
 
    // 将UISlider添加到一个UIView视图中
    [self.view addSubview:_mySlider];
    // 将UILabel添加到一个UIView视图中
    [self.view addSubview:_myLabel];
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
- (void)sliderValueChanged:(id)sender {
    if ([sender isKindOfClass:[UISlider class]]) {
        UISlider * slider = (UISlider *)sender;
        _myLabel.font = [UIFont systemFontOfSize:slider.value];
    }
}
 
@end

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM