您的位置:首页 > 产品设计 > UI/UE

UISlider滑块控件

2013-10-18 16:46 507 查看
UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择一个值。默认情况下,滑块的最小值为0.0,最大值为1.0。

当然可以在属性面板中通过设置minimumValuemaximumValue来进行定制这两个值。如果要为控件两端设置样式,可以添加一对相关图像(minimumValueImagemaximumValueImage属性)来加强该设置,也可在代码中通过setMimimumTrackImage:
forState:
setMaximumTrackImage: forState: 方法来添加设置两端图片。

滑块的continuous属性控制在用户拖动缩略图时一个滑块是否持续发送值更新。设置为NO(默认为YES)时,用户释放缩略图时滑块仅发送一个动作事件。UISlider类还允许直接更新其缩略图组件,通过调用setThumbImage:
forState:方法可定制自己的滑块图片。

自定义UISlider的样式和滑块的代码:

[pre]//左右轨的图片

UIImage *stetchLeftTrack = [UIImage imageNamed:@"snow_bar.png"];

UIImage *stetchRightTrack = [UIImage imageNamed:@"sun_bar.png"];

//滑块图片

UIImage *thumbImage = [UIImage imageNamed:@"mark.png"];

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(30,320,257,7)];

slider.backgroundColor = [UIColor clearColor];

slider.value = 1.0;

slider.minimumValue = 0.7;

slider.maximumValue = 1.0;

[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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: