iOS开发笔记--UISlider的相关属性设置
来源:互联网 发布:炒贵金属软件 编辑:程序博客网 时间:2024/05/16 05:49
UISlider的使用
一、创建滑块
滑块是一个标准的UIControl。我们可以通过代码创建,和开关(UISwitch)的宽与高都会被忽略一样滑块的高也会被忽略(但是宽度不会):
UISlider* mySlider = [ [ UISlider alloc ] initWithFrame:CGRectMake(20.0,10.0,200.0,0.0) ];//高度设为0
二、设定范围与默认值
创建完毕的同时我们要设置好滑块的范围,如果没有设置,默认为 0.0 到 1.0 之间的值。UISlider提供了两个属性来设置范围:mininumValue(最小值) 和 maxinumValue(最大值)
mySlider.mininumValue = 0.0;//最小值
mySlider.maxinumValue = 100.0;//最大值
同时也可以为滑块设定一个默认值:
mySlider.value = 50.0;
三、添加图片
滑块可以两端显示图像。添加图像后UISlider会缩短,所以要记得在创建的时候增加滑块的宽度来适应图像。
[ mySlider setMininumTrackImage: [ UIImage applicationImageNamed:@"min.png" ] forState: UIControlStateNormal ];
[ mySlider setMaxinumTrackImage: [ UIImage applicationImageNamed:@"max.png" ] forState: UIControlStateNormal ];
可以根据滑块的各种不同状态显示不同的图像。下面是可用状态:
UIControlStateNormal
UIControlStateHighlighted
UIControlStateDisabled
UIControlStateDisabled
UIControlStateSelected
四、显示控件
[ self.view addSubview:myslider ];//添加到视图
或
[ self.navigationItem.titleView addSubview:myslider ];//添加到导航栏
五、读取控件值
float value = mySlider.value;
六、通知
要想在滑块值改变时收到通知,可以用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 属性:
[java] view plaincopyprint?
mySlider.continuous = YES ;
这个通知最简单的一个实例就是实时显示滑块的值,我们可以用一个UILabel来显示值,在每次触发上面的方法时改变label的值
- (void) sliderChanged:(UISlider *)sender
{
self.sliderLabel.text = [NSString stringwithFormat :@"%.1f",self.mySlider.value];
}
一、创建滑块
滑块是一个标准的UIControl。我们可以通过代码创建,和开关(UISwitch)的宽与高都会被忽略一样滑块的高也会被忽略(但是宽度不会):
UISlider* mySlider = [ [ UISlider alloc ] initWithFrame:CGRectMake(20.0,10.0,200.0,0.0) ];//高度设为0
二、设定范围与默认值
创建完毕的同时我们要设置好滑块的范围,如果没有设置,默认为 0.0 到 1.0 之间的值。UISlider提供了两个属性来设置范围:mininumValue(最小值) 和 maxinumValue(最大值)
mySlider.mininumValue = 0.0;//最小值
mySlider.maxinumValue = 100.0;//最大值
同时也可以为滑块设定一个默认值:
mySlider.value = 50.0;
三、添加图片
滑块可以两端显示图像。添加图像后UISlider会缩短,所以要记得在创建的时候增加滑块的宽度来适应图像。
[ mySlider setMininumTrackImage: [ UIImage applicationImageNamed:@"min.png" ] forState: UIControlStateNormal ];
[ mySlider setMaxinumTrackImage: [ UIImage applicationImageNamed:@"max.png" ] forState: UIControlStateNormal ];
可以根据滑块的各种不同状态显示不同的图像。下面是可用状态:
UIControlStateNormal
UIControlStateHighlighted
UIControlStateDisabled
UIControlStateDisabled
UIControlStateSelected
四、显示控件
[ self.view addSubview:myslider ];//添加到视图
或
[ self.navigationItem.titleView addSubview:myslider ];//添加到导航栏
五、读取控件值
float value = mySlider.value;
六、通知
要想在滑块值改变时收到通知,可以用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 属性:
[java] view plaincopyprint?
mySlider.continuous = YES ;
这个通知最简单的一个实例就是实时显示滑块的值,我们可以用一个UILabel来显示值,在每次触发上面的方法时改变label的值
- (void) sliderChanged:(UISlider *)sender
{
self.sliderLabel.text = [NSString stringwithFormat :@"%.1f",self.mySlider.value];
}
0 0
- iOS开发笔记--UISlider的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记-UIActionSheet的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发笔记--UILabel的相关属性设置
- iOS开发--UILabel的相关属性设置
- iOS开发中UISlider的简单使用
- UISlider-IOS开发
- IOS开发 UI UISlider
- UISlider-IOS开发
- UISlider 滑杆 开发笔记
- IOS学习 UISlider相关学习
- 【iOS开发-11】UISlider滑动条的属性介绍以及于标签联合使用实时显示变动值
- iOS开发UISlider滑动条的属性介绍以及于标签联合使用实时显示变动值
- Java和CDT环境配置
- PrintWriter输出中文乱码问题
- C++虚继承的概念
- poj3301三分法
- 主分片平衡--Shard Overallocation--es横向扩展设计
- iOS开发笔记--UISlider的相关属性设置
- 建造者模式(Builder Pattern)
- OpenNMS编译后部署
- UICollectionView和UIDynamicanimation结合使用
- sublime安装与配置
- 实现顶部轮播,下部listview经典布局的两种方式
- 2015 ACM-ICPC 沈阳网络赛总结
- 表驱动法
- Codeblocks的编译器配置