UISlider滑块控件的使用总结

本文详细介绍了如何自定义UISlider控件的样式,包括设置滑块两端的图片、调整滑块的连续性以及实现拖动事件。通过代码示例展示了如何在Swift中使用UISlider,并提供了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择一个值。默认情况下,滑块的最小值为0.0,最大值为1.0。当然可以在属性面板中通过设置minimumValuemaximumValue来进行定制这两个值。如果要为控件两端设置样式,可以添加一对相关图像(minimumValueImagemaximumValueImage属性)来加强该设置,也可在代码中通过setMimimumTrackImage: forState: 和setMaximumTrackImage: forState: 方法来添加设置两端图片。 

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

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

//左右轨的图片
UIImage *stetchLeftTrack = [UIImage imageNamed:@"snow_bar.png"];
UIImage *stetchRightTrack = [UIImage imageNamed:@"sun_bar.png"];
//滑块图片
UIImage *thumbImage = [UIImage imageNamed:@"mark.png"];

UISlider *slider = [[UISlider alloc] init];
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];

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值