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系统中,能够响应并处理事 ...
随机推荐
- ZOJ-2342 Roads 二分图最小权值覆盖
题意:给定N个点,M条边,M >= N-1.已知M条边都有一个权值,已知前N-1边能构成一颗N个节点生成树,现问通过修改这些边的权值使得最小生成树为前N条边的最小改动总和为多少? 分析:由于计算 ...
- Thinking in Java 笔记初衷
当读到第十章的时候,发现之前读过的内容很难准确的记忆起来,这样给后续的阅读带来了一定的困惑,而之前也没有做适当的可读性的复习笔记,所以发现重新找后续阅读需要的知识点时,是有一定的困难的. 同时在知乎今 ...
- 09 redo and undo
本章提要-----------------------------------------------redo, undo 定义redo, undo 如何工作如何访问 redo, undo提交和回滚- ...
- CnPlugin 1.5.400
本软件CnPlugin是PL/SQL Developer工具插件,支持PL/SQL Developer 7.0以上版本.增加了PL/SQL Developer工具本身所没有的一些小功能,功能基本一些已 ...
- Linux 中如何卸载已安装的软件
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现.与其相类似, ...
- c++中vector的学习
根据各种做题,发现数组并不是很适用于各种情况,当涉及到内存占用的时候,数组可能就没有vector的优势了,而vector,动态数组,比较适合某些情况. 接下来看看比较基本的vector用法: 1 #i ...
- 最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)
堆有最大堆和最小堆之分,最大堆就是每个节点的值都>=其左右孩子(如果有的话)值的完全二叉树.最小堆便是每个节点的值都<=其左右孩子值的完全二叉树. 设有n个元素的序列{k1,k2,..., ...
- Sqlserver_sql注入
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...
- Linux下软件安装方法即路径设置
Linux下软件安装方法即路径设置 http://www.cnblogs.com/edward259/archive/2010/07/02/1770066.html
- 用RestTemplate碰到的问题
给请求加上头信息 Request request = new Request(); HttpHeaders requestHeaders = new HttpHeaders(); requestHea ...