UISlider的基本使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UISlider的基本使用方法相关的知识,希望对你有一定的参考价值。

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

其选择器样式如下:

技术分享

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对应的位置如下:

技术分享

代码事例:

//
//  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

 

以上是关于UISlider的基本使用方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习八之UISlider

iOS - 折叠动画 UISlider

UISlider

UISlider 在 ios 中无法使用特定语言

如何将 PDF“页码”与 UISlider 链接?

IOS开发-UI学习-UISlider(滑动条)的使用