iOS开发之滑块UISlider

UISlider是OC中很简单的一个模块,不过想要加粗或者竖直显示时需要花点功夫罢了.
简单的滑动条

// 初始化
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(100, 200, 100, 20)];  
// 添加到俯视图
[self.view addSubview:slider];  

接下来可以设置它的一些属性了

// 设置最小值
slider.minimumValue = 9;  
// 设置最大值
slider.maximumValue = 11;  
// 设置初始值  
 slider.value = (slider.minimumValue + slider.maximumValue) / 2;
// 设置可连续变化
 slider.continuous = YES;  
//滑轮左边颜色,如果设置了左边的图片就不会显示  
slider.minimumTrackTintColor = [UIColor greenColor]; 
//滑轮右边颜色,如果设置了右边的图片就不会显示  
slider.maximumTrackTintColor = [UIColor redColor];

/// 也可设置为图片
///[slider setMinimumTrackImage:[UIImageimageNamed:@"max.png"] forState:UIControlStateNormal];
//[slider setMaximumTrackImage:[UIImageimageNamed:@"min.png"] forState:UIControlStateNormal];

//设置了滑轮的颜色,如果设置了滑轮的样式图片就不会显示  slider.thumbTintColor = [UIColor redColor];
// 针对值变化添加响应方法  
 [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

如果你想竖直来放,只需要旋转90度就好,slider本身只是水平放置,无竖直显示特性

slider.transform = CGAffineTransformMakeRotation(1.57079633);

如果你想加粗滑动条,那么就要重写一个继承与UISlider的类了,然后重写里面的实现方法来控制:

/// 设置最小值
- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds;
/// 设置最大值
- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;
/// 控制slider的宽高
- (CGRect)trackRectForBounds:(CGRect)bounds;
/// 改变滑块的触摸范围
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;

根据需要实现即可, 不必全部实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们已经在编程的世界转了一大圈了,开始着手完成这个游戏吧 你已经建造了用户界面,并且你知道如何读取滑条位置上的值。...
    Billionfan阅读 6,225评论 9 7
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 5,257评论 0 3
  • 这是正文
    luandao阅读 1,924评论 0 1
  • 你爱过一个远方的人么 像金岳霖那样到了八十一 谈起林徽因依然喜极而泣 你对这个世界灰过心么 像水里的茶不再坚持原本...
    西城的北阅读 3,106评论 10 9
  • 与产品功能沟通顺畅,但自己在产品功能上还是容易让其他小伙伴来反对,需更充足地考虑,以及在于沟通技巧。 VIP需求文...
    yi生有你阅读 1,235评论 0 0