iOS开发之滑块UISlider

来源:互联网 发布:蜗居宋思明知乎 编辑:程序博客网 时间:2024/06/01 08:16
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;

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

```

原创粉丝点击