PC上的滑块是很丑陋的,因为我们只能通过鼠标去拖动他。不过当Jobs把它移植到IOS上时一切变得酷起来,因为我们可以通过手指去拖动它,这种感觉是很妙的。
滑块为用户提供了一种可见的做范围调整的方法,用户可以通过拖动一个滑动条改变它的值,并且可以对其配置以合适不同值域。你可以设置滑块值的范围,也可以在两端加上图片,以及进行各种调整让它更美观。滑块非常适合用于表示在很大范围(但不精确)的数值中进行选择,比如音量设置、灵敏度控制等诸如此类的用途。
一、创建
滑块是一个标准的UIControl。我们可以通过代码创建,如同开关(UISwitch)的宽与高都会被忽略一样滑块的高也会被忽略(但是宽度不会):
UISlider* mySlider = [ [ UISlider alloc ] initWithFrame:CGRectMake(20.0,10.0,200.0,0.0) ];//高度设为0就好
mySlider.mininumValue = 0.0;//下限 mySlider.maxinumValue = 50.0;//上限
mySlider.value = 22.0;
[ mySlider setMininumTrackImage: [ UIImage applicationImageNamed:@"min.png" ] forState: UIControlStateNormal ]; [ mySlider setMaxinumTrackImage: [ UIImage applicationImageNamed:@"max.png" ] forState: UIControlStateNormal ];
UIControlStateNormal UIControlStateHighlighted UIControlStateDisabled UIControlStateDisabled UIControlStateSelected
[ parentView addSubview:myslider ];//添加到父视图
[ self.navigationItem.titleView addSubview:myslider ];//添加到导航栏
float value = mySlider.value;
[ mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEventValueChanged ];
- (void) sliderValueChanged:(id)sender{ UISlider* control = (UISlider*)sender; if(control == mySlider){ float value = control.value; /* 添加自己的处理代码 */ } }
mySlider.continuous = YES ;
七、UISlider两边有空隙的解决方法
之前做过一个播放器,音量条两边有空隙。在去新浪面试的时候,面试官提到了这个知识点。我在stackoverflow上爬了好久终于找到了方法,分享给iOS初学者。
重写UISlider的这个方法
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value { rect.origin.x = rect.origin.x - 10 ; rect.size.width = rect.size.width +20; return CGRectInset ([super thumbRectForBounds:bounds trackRect:rect value:value], 10 , 10); }
-(CGRect)trackRectForBounds:(CGRect)bounds { bounds.origin.x=15; bounds.origin.y=bounds.size.height/3; bounds.size.height=bounds.size.height/5; bounds.size.width=bounds.size.width-30; return bounds; } - (CGRect)minimumValueImageRectForBounds:(CGRect)bounds; - (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;
滑块控件(Sliders,简称滑块)可以让我们通过在连续或间断的区间内滑动锚点来选择一个合适的数值。区间最小值放在左边,对应的,最大值放在右边。滑块(Sliders)可以在滑动条的左右两端设定图标来反映数值的强度。这种交互特性使得它在设置诸如音量、亮度、色彩饱和度等需要反映强度等级的选项时成为一种极好的选择。 连续滑块(Continuous Slider) 在不要求精准、以主观感觉为主的设置中使用
1.5.0 新增 滑块组件,提供类似微信列表左滑功能,可以方便地对列表项做一些功能操作。 示例 Swipe 组件的示例相关代码在这里 基本使用 Swipe 组件常见的场景是搭配 Scroll 组件使用,既可以纵向滚动,又可以横向左滑出一些按钮对列表项做操作,当然,Swipe 组件也可以单独使用。 <template> <div class="swipe-wrapper"> <cube-s
本文向大家介绍Android自定义控件仿iOS滑块SwitchButton,包括了Android自定义控件仿iOS滑块SwitchButton的使用技巧和注意事项,需要的朋友参考一下 SwitchButton可以点击的时候切换状态,类似CheckBox 在拖动的时候,也可以根据拖动的距离判断是否切换状态,类似ToggleButton 因此要区别出单击事件和拖动事件 实现效果如图所示: 自定义的Sw
Custom UISlider 是一个自定义的滑块,允许使用图片来设置滑块
在此输入图像说明 你能告诉我如何在ios swift中实现这个动态图吗
本文向大家介绍总结iOS中runtime的使用,包括了总结iOS中runtime的使用的使用技巧和注意事项,需要的朋友参考一下 做iOS的朋友都知道或听说runtime,这个东西很像java的反射机制,但功能远胜于java的反射。通过runtime我们可以动态的向一个类中添加属性、成员变量、方法,以及对其进行读写访问。 一、runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在
本文向大家介绍Python中的time模块与datetime模块用法总结,包括了Python中的time模块与datetime模块用法总结的使用技巧和注意事项,需要的朋友参考一下 time模块 time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间 函数 time.time(): 返回一个时间戳 time.asctim
本文向大家介绍python中操作文件的模块的方法总结,包括了python中操作文件的模块的方法总结的使用技巧和注意事项,需要的朋友参考一下 在python中操作文件算是一个基本操作,但是选对了模块会让我们的效率大大提升。本篇整理了两种模块的常用方法,分别是os模块和shutil模块。相信这两种模块大家在之间的学习中有所涉及,那么关于具体的文件操作部分,我们一起往下看看都有哪些方法和实例吧。 本教程