ios基础篇(七)——UISwich、UISlider、UIProgressView的用法总结
一、UISlider
UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互;UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择一个值。默认情况下,滑块的最小值为0.0,最大值为1.0。当然可以在属性面板中通过设置minimumValue和maximumValue来进行定制这两个值。如果要为控件两端设置样式,可以添加一对相关图像(minimumValueImage和maximumValueImage属性)来加强该设置,也可在代码中通过setMimimumTrackImage: forState: 和setMaximumTrackImage: forState: 方法来添加设置两端图片。
UISwitch对象提供一个简单的开/关切换,允许用户选择一个布尔值。
常见属性:
1、value:
这个值是介于滑块的最大值和最小值之间的,如果没有设置边界值,默认为0-1;
2、minimumValue:
设置滑块最小边界值(默认为0)
3、maximumValue:
设置滑块最大边界值(默认为1)
4、minimumValueImage:
设置滑块最左端显示的图片
5、maximumValueImage
设置滑块最右端显示的图片
6、continuous(BOOL)
设置滑块值是否连续变化(默认为YES)
7、minimumTrackTintColor
设置滑块左边(小于部分)线条的颜色
8、maximumTrackTintColor:
设置滑块右边(大于部分)线条的颜色
9、thumbTintColor
设置滑块颜色(影响已划过一端的颜色),注意这个属性:如果你没有设置滑块的图片,那个这个属性将只会改变已划过一段线条的颜色,不会改变滑块的颜色,如果你设置了滑块的图片,又设置了这个属性,那么滑块的图片将不显示,滑块的颜色会改变。
常用方法:
手动设置滑块的值:
- (void)setValue:(float)value animated:(BOOL)animated;
设置滑块的图片:
- (void)setThumbImage:(UIImage *)image forState:(UIControlState)state;
设置滑块划过部分的线条图案
- (void)setMinimumTrackImage:(UIImage *)image forState:(UIControlState)state;
设置滑块未划过部分的线条图案
- (void)setMaximumTrackImage:(UIImage *)image forState:(UIControlState)state;
对应的几个get方法
- (UIImage *)thumbImageForState:(UIControlState)state;
- (UIImage *)minimumTrackImageForState:(UIControlState)state;
- (UIImage *)maximumTrackImageForState:(UIControlState)state;
对应的设置当前状态的响应属性的方法
@property(nonatomic,readonly) UIImage* currentThumbImage;
@property(nonatomic,readonly) UIImage* currentMinimumTrackImage;
@property(nonatomic,readonly) UIImage* currentMaximumTrackImage;

//初始化
mySlider = [[UISlider alloc] initWithFrame:(CGRect){,,,}];
//最小边界值
mySlider.minimumValue = ;
//最大边界值
mySlider.maximumValue = ;
//这个值是介于滑块的最大值和最小值之间的,如果没有设置边界值,默认为0-1
mySlider.value =0.5;
//设置滑块值是否连续变化(默认为YES)
mySlider.continuous= YES;
//设置滑块最左端显示的图片
mySlider.minimumValueImage = [UIImage imageNamed:@""];
//设置滑块最右端显示的图片
mySlider.maximumValueImage = [UIImage imageNamed:@""];
//设置滑块左边(小于部分)线条的颜色
mySlider.minimumTrackTintColor = [UIColor blueColor];
//设置滑块右边(大于部分)线条的颜色
mySlider.maximumTrackTintColor = [UIColor greenColor];
//设置滑块颜色(影响已划过一端的颜色)
mySlider.thumbTintColor = [UIColor grayColor];
//加入视图
[self.view addSubview:mySlider];
//添加点击事件
[mySlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
二、UIProgressView
//初始化
progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
//加入视图
[self.view addSubview:progressView];
//设置位置,尺寸
progressView.frame = (CGRect){,,,};
//设置进度条颜色
progressView.trackTintColor = [UIColor blueColor];
//设置进度默认值,这个相当于百分比,范围在0~1之间,不可以设置最大最小值
progressView.progress = 0.1;
//设置进度条上进度的颜色
progressView.progressTintColor = [UIColor yellowColor];
//设置进度条的背景图片
progressView.trackImage = [UIImage imageNamed:@""];
//设置进度条上进度的背景图片
progressView.progressImage = [UIImage imageNamed:@""];
//设置进度值并动画显示
[progressView setProgress:0.7 animated:YES];
如图:

三、UISwich
UISwitch 的作用是给用户提供开关,在系统的设置界面很常见,控件也很简单。
常见属性:
1、onTintColor
开关开启状态时的颜色
2、tintColor
开关风格颜色
3、thumbTintColor
开关按钮颜色
4、BOOL on
开关的状态


//初始化
swicthView = [[UISwitch alloc] initWithFrame:(CGRect){,,,}];
swicthView.on = YES;
//设置开关开启状态时的颜色
swicthView.onTintColor = [UIColor yellowColor];
//设置开关风格颜色
swicthView.tintColor = [UIColor blueColor];
//设置开关按钮颜色
swicthView.thumbTintColor = [UIColor purpleColor];
//设置开关开启状态时的图片
swicthView.onImage = [UIImage imageNamed:@"pic1"];
//设置开关关闭状态时的图片
swicthView.offImage = [UIImage imageNamed:@"pic2"];
//加入视图
[self.view addSubview:swicthView];
添加监听事件:
[swicthView addTarget:self action:@selector(swicthAction:) forControlEvents:UIControlEventValueChanged];
- (void)swicthAction:(UISwitch *)mySwicth{
UILabel *lastLabel = (UILabel*)[self.view viewWithTag:];
[lastLabel removeFromSuperview];
UISwitch *switchButton = mySwicth;
BOOL isButtonOn = [switchButton isOn];
UILabel *switchLabel = [[UILabel alloc] initWithFrame:(CGRect){,,,}];
switchLabel.font = [UIFont systemFontOfSize:];
switchLabel.tag = ;
[self.view addSubview:switchLabel];
if (isButtonOn) {
switchLabel.text = @"是";
}else
switchLabel.text = @"否";
}


ios基础篇(七)——UISwich、UISlider、UIProgressView的用法总结的更多相关文章
- ios基础篇(十六)——UIWebView的基本使用
UIWebView是内置的浏览器控件,可以用它来浏览网页.打开文档等.UIWebView是一个混合体,具体的功能控件内置的,实现一些基本的功能.UIWebView可以查看Html网页,pdf文件,do ...
- ios基础篇(三)——UIButton的详细介绍
按钮UIButton是ios开发中最常见的控件之一,下面来介绍UIButton的详细内容: 一.UIButton的定义 UIButton *button=[[UIButton buttonWithTy ...
- Lua 学习之基础篇七<Lua Module,Package介绍>
Lua 之Module介绍 包管理库提供了从 Lua 中加载模块的基础库. 只有一个导出函数直接放在全局环境中: [require]. 所有其它的部分都导出在表 package 中. require ...
- ios基础篇(二十九)—— 多线程(Thread、Cocoa operations和GCD)
一.进程与线程 1.进程 进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内: 如果我们把CPU比作一个工厂,那么进程就好比工厂的车间,一个工厂有 ...
- ios基础篇(二十七)—— Json解析
一.什么是Json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使 ...
- ios基础篇(二十六)—— UITableViewCell的分组索引与标记
一.表视图的索引目录 首先要创建一个TableView,之前有说过,这里就不详细说了(参考前面第十四篇). 直接贴代码吧, #import "ViewController.h" @ ...
- ios基础篇(二十五)—— Animation动画(UIView、CoreAnimation)
Animation主要分为两类: 1.UIView属性动画 2.CoreAnimation动画 一.UIView属性动画 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIVie ...
- ios基础篇(二十四)—— 文字、图片的绘制及其自定义Button
这篇文章我们主要来拿官方的控件来研究一下,我们来仿照官方的控件,自己来实现它提供的控件: 首先来看看基本的图片与文字的绘制,很简单. 一.imageView 所有的视图都是继承自UIView,所以我们 ...
- ioS基础篇(十九)——UIResponder简析
UIResponder类定义了对象相应和控制事件的接口,他是UIApplication.UIView的超类,这类的实例通常被称为应答对象. 一.Responder对象 在iOS系统中,能够响应并处理事 ...
随机推荐
- SQL疑难杂症【2】解决SQL订阅过程中找不到已经创建的订阅
之前有写过一篇博客,主要是图解SQL复制技术:图解SQL 2008数据库复制,当时的测试环境是在我本地同一个服务器上面,所以测试的时候可谓是一帆风顺,最近公司要做一个数据同步的事物,所以再次在不同的服 ...
- 通过EasyUI Tree说明SQL GUID和自增列ID的使用场景
最新在开发中用到了EasyUI里面的Tree,通过API可以看到这个Tree的数据格式如下: 其中ID比较重要,API也说了,最开始我考虑到GUID比自增ID多占用了一些空间,所以采用的自增ID,测试 ...
- CUBRID学习笔记 4 端口和win7下连接数据库cubrid教程
都是官方的文档 ,水平有限, 大家可以看原文. http://www.cubrid.org/wiki_tutorials/entry/connecting-to-a-remote-cubrid-dat ...
- windows下的Git简单入手
现在再搞golang,用go get github.com/xxx 命令使需要git.提交新项目到github.com也要git,老东西了,呵呵现在也要学习一下. 下载windows版的git. ·准 ...
- iOS - Swift Enum 枚举
1.Enum 的创建 1.1 标准定义 枚举的定义 enum CompassPoint { case North case South case East case West } enum Plane ...
- 从网页(WEB)登录SAP
以下这篇文章写得很详细,照着做就可以了: http://www.doc88.com/p-293361232332.html 设好后, 默认的端口是80$$, 其中$$是安装SAP时的instanc ...
- mysql 有关的文件
1.在linux上安装好mysql之后,存在很多mysql有关的文件. 2./etc/rc.d/init.d/mysql 是mysql服务的启动脚本,是对mysqld_safe的封装,mysqld_s ...
- 算法_栈的Java的通用数组实现
栈是一个常用的最简单的数据结构,这里提供了其实现.内部维护了一个数组,并且可以动态的调整数组的大小.而且,提供了迭代器支持后进先出的迭代功能.Stack的实现是所有集合类抽象数据类型实现的模板,它将所 ...
- Android网络编程系列 一 Socket抽象层
在<Android网络编程>系列文章中,前面已经将Java的通信底层大致的描述了,在我们了解了TCP/IP通信族架构及其原理,接下来我们就开始来了解基于tcp/ip协议层的Socket抽 ...
- The new day of my blog
今天开始了我的博客建造之旅,作为一个ACMer(虽说是弱校的),我也想象其他人一样把自己的题解和心得记录下来,一来可以和大家分享一下,二来也可以留给将来的自己作回顾,希望众大神能够给以指导指导,让我这 ...