ios之UISlider
初始化一个Slider
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)];
创建完毕的同时我们要设置好滑块的范围,如果你没有设置,那么会使用默认的 0.0 到 1.0 之间的值。UISlider提供了两个属性来设置范围:mininumValue 和 maxinumValue:
同时你也可以为滑块设定一个默认值:
改变UISlider的外观
slider.minimumValueImage = [UIImage imageNamed:@"设置slider左边的图片"];
slider.maximumValueImage = [UIImage imageNamed:@"设置slider右边的图片"];
//设置了会减小滚动区域的宽度,但整个slider的宽度不变
[slider setMinimumTrackImage:[UIImage imageNamed:@"设置滑轮左边的图片,最好宽度和slider一样"] forState:UIControlStateNormal];
[slider currentMinimumTrackImage]; //得到当前滑轮左边的图片如果有的话
[slider setMaximumTrackImage:[UIImage imageNamed:@"设置滑轮左边的图片,最好宽度和slider一样"] forState:UIControlStateNormal];
[slider currentMaximumTrackImage]; //得到当前滑轮右边的图片如果有的话
把蓝色的设置为MinimumTrackImage
把灰色的设置为MaximumTrackImage
可以加一个label用于显示value,在UISlider的行为的change方法里改变label.text属性
slider.minimumTrackTintColor = [UIColor redColor]; //滑轮左边颜色如果设置了左边的图片就不会显示
slider.maximumTrackTintColor = [UIColor redColor]; //滑轮右边颜色如果设置了右边的图片就不会显示
[slider thumbImageForState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"设置滑轮样子的图片"] forState:UIControlStateHighlighted];//设置了普通状态和高亮状态的滑轮样式
slider.thumbTintColor = [UIColor redColor];//设置了滑轮的颜色如果设置了滑轮的样式图片就不会显示
你可以根据滑块的各种不同状态显示不同的图像。下面是可用状态:
UIControlStateNormal
UIControlStateHighlighted
UIControlStateDisabled
UIControlStateDisabled
UIControlStateSelected
四、显示控件
- [ parentView addSubview:myslider ];//添加到父视图
- 或
- [ self.navigationItem.titleView addSubview:myslider ];//添加到导航栏
五、读取控件值
六、通知
要想在滑块值改变时收到通知,可以用UIControl类的addTarget方法为UIControlEventValueChanged事件添加一个动作。
- [ mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEventValueChanged ];
只要滑块停放(注意是停放,如果要在拖动中也触发,请看后文)到新的位置,你的动作方法就会被调用:
- - (void) sliderValueChanged:(id)sender{
- UISlider* control = (UISlider*)sender;
- if(control == mySlider){
- float value = control.value;
- }
- }
如果要在拖动中也触发,需要设置滑块的 continuos 属性:
这个通知最简单的一个实例就是实时显示滑块的值,很奇怪的苹果显示滑块的值是一个私有的API(setShowValue),私有就私有,大不了我不用就是。我们可以用一个UILabel来显示值,在每次触发上面的方法时改变label的值,不就可以实时显示了吗?当然我们可以做的不仅仅是这个,还有更多的 cool 事情可以去实现,就看你的手段与想象力了。
主要是UISlider跟换thumb 与 状态条 bar 的替换
self.volumeSlider.transform = rotation;
//跟换Thumb
[self.volumeSlider setThumbImage:image1 forState:UIControlStateNormal];
// 跟换bar 并且实现拖动效果
//覆盖的图片
[self.volumeSlider setMinimumTrackImage:image2 forState:UIControlStateNormal];
//底片
[self.volumeSlider setMaximumTrackImage:image forState:UIControlStateNormal];
ios之UISlider的更多相关文章
- iOS开发-UISlider改变图片透明度
拖动条是通过滑块的位置来标识数值,而且拖动条允许用户拖动滑块来改变值.因此,拖动条通常用于对系统的某种数值进行调节,如调节亮度,透明度,音量等. 一.属性介绍 @property(nonatomic) ...
- iOS - UI - UISlider
6.UISlider //滑块 设置高度 UISlider * slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 100, CGRec ...
- React Native组件之Switch和Picker和Slide
React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...
- iOS - UISlider
前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UISlider : UIControl <NSCoding> @a ...
- ios基础篇(七)——UISwich、UISlider、UIProgressView的用法总结
一.UISlider UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互:UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择 ...
- 在ios开发中nil和NUll和Nilde区别————和如何判断连个对象的关系和UISlider不能拖动的问题
nil表示一个对象指针为空,针对对象 >示例代码: NSString *someString = nil; NSURL *someURL = nil; id someObject = nil; ...
- 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50163725 一. 分段控件 (UISegmentedControl) 控件展 ...
- iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
一.UISlider的使用 其实UISlider在iOS开发中用的似乎不是很多,我们看到的用到的地方多是音乐播放器的音量控制,以及视频播放器中的音量控制. 还是记录一下吧! 1.常用属性 // 设置获 ...
- iOS 全屏侧滑/UIScrollView/UISlider间滑动冲突
代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewCont ...
随机推荐
- iOS 利用模态视图实现带黑色蒙版的底部弹窗
本demo仅适用于iOS8及以上系统. 本文将使用autolayout+storyboard来实现弹窗 第一步.storyboard创建界面 1.打开storyboard 拖一个UIViewcontr ...
- day02 多态
- JavaSE 帮助文档下载
- 彻底剖析RMI底层源码 、手写轻量级RMI框架
https://blog.csdn.net/Z0157/article/details/82049975 User public class User { private int age; publi ...
- kojs select绑值(工作)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...
- 101 to 010 Atcoder CODE FESTIVAL 2017 qual B D
https://www.luogu.org/problemnew/show/AT3575 题解 根本不会.. 错误记录:缺少32行的转移.显然这个转移是必要的 #include<cstdio&g ...
- ASP.NET经典的、封装好的ADO.NET类包
using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.R ...
- IIS7开启目录浏览功能
IIS7开启目录浏览功能: 在右侧操作中点击启用,并在左侧面板中勾选显示字段.
- SpringMVC-异常处理器
1. 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. 系统 ...
- ES-windos环搭建-ik中文分词器
ik下载 打开Github官网,搜索elasticsearch-analysis-ik,单击medcl/elasticsearch-analysis-ik.或者直接点击 在readme.md文件中,下 ...