UISlider能让用户简单直观的在一定范围内取一个值,一般常见在音量控制,播放进度,读取进度,完成进度等等上。
IOS系统给定了UISlider特定的显示样式,当然,程序员也可以自定义UISlider样式。
左图为IOS6系统环境下的显示样式;左图为IOS7系统环境下给定的显示样式。
下面,开始由代码出发,介绍UISlider的属性和方法:
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(x,y,w,h)]; //初始化方法,其中高度设置对于系统样式且无背景颜色时作用不明显,有背景颜色时,显示该控件实际大小,在自定义时,影响图片的高度。
slider.maximumValue = 10; //设置滑块能够滑到的最大
slider.minmumValue = 0; //设置滑块能够滑到的最小值
slider.value = 5; //设置滑块的初始值(注意应该先设置slider的最大值和最小值,再设置初始值;因为UISlider默认情况下,其范围为:0-1);
slider.backgroundColor = [UIColor clearColor]; //设置背景颜色,此时无颜色
//设置滑块左边和右边的颜色
[slider setMaximumTrackTintColor:[UIColor redColor]];
[slider setMinimumTrackTintColor:[UIColor greenColor]];
[slider setThumbTintColor:[UIColor clearColor]]; //滑块透明
[self.view addSubview:slider]; //添加到视图
下面是自定义UISlider的方法:
UIImage *stetchLeftTrack= [UIImage imageNamed:@"name1.png"]; //设置左轨道图片
UIImage *stetchRightTrack = [UIImage imageNamed:@"name2.png"]; //设置右轨道图片
UIImage *thumbImage = [UIImage imageNamed:@"name3.png"]; //设置滑块图片
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(x,y,w,h)];
slider.maximumValue = 10;
slider.minmumValue = 0;
slider.value = 5;
slider.backgroundColor = [UIColor clearColor];
[slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; //常态下左边轨道的图片
[slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; //常态下右边轨道的图片
//注意这里要加UIControlStateHightlighted的状态,否则当拖动滑块时滑块将变成原生的控件
[slider setThumbImage:thumbImage forState:UIControlStateHighlighted];
[slider setThumbImage:thumbImage forState:UIControlStateNormal];
//添加滑块滑动时的事件:
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
//滑动拖动后的事件
[slider addTarget:self action:@selector(sliderDragUp:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:slider];
//事件:
-(void)sliderValueChanged:(UISlider *)slider
{
NSLog(@"sliderValue:%.1f",slider.value); //这是滑块滑动到不同位置时,获取相对应的值的方法
}
-(void)sliderDrageUp:(UISlider *)slider
{
//输入想要发生的事件
}
(可能学得比较浅,大家要是有补充可以留言,有问题的大家一起探讨下,可以私下联系:QQ790444804 微信:hgwchihuo
-------我是快乐的小尾巴`(*∩_∩*)′)