博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UISlider的基本使用方法
阅读量:6934 次
发布时间:2019-06-27

本文共 2369 字,大约阅读时间需要 7 分钟。

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

 

转载于:https://www.cnblogs.com/jerryhero/p/5164673.html

你可能感兴趣的文章
js基础进阶--promise和setTimeout执行顺序的问题
查看>>
mongoose再认识(三)
查看>>
你真的了解RPC吗?
查看>>
Composer简明教程
查看>>
jsonP格式接口实现
查看>>
INDIGO STUDIO神器!快速创建WEB、移动应用的交互原型工具【转】
查看>>
我的2017云栖之行
查看>>
HSQLDB安装与使用方法
查看>>
重拾C++之初始化
查看>>
maven nexus 下发布第三方构件;
查看>>
Java学习之深拷贝浅拷贝及对象拷贝的两种方式
查看>>
如何根据动态SQL代码自动生成DTO
查看>>
html input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
查看>>
Android Export aborted because fatal error were fo
查看>>
在window平台下模拟Liunx使用GCC环境进行编译C的SO库。
查看>>
原来一直纠结MQ的用法,今天看到了一个最经典的例子。
查看>>
Resource is out of sync with the file system的解决办法
查看>>
交叉编译openssl不修改Makefile的方法
查看>>
linux 常用流量查看命令
查看>>
VMware ESXi Windows虚拟机磁盘扩展小结
查看>>