UISlider的一些用法

UISlider属性

slider.minimumValue = 9;// 设置最小值 
slider.maximumValue = 11;// 设置最大值  
slider.continuous = YES;// 设置可连续变化  
slider.minimumTrackTintColor = RGBA(45, 215, 135, 1);//滑块左边颜色
slider.maximumTrackTintColor = RGBA(222, 222, 222, 1);//滑块右边颜色
slider.thumbTintColor = [UIColor clearColor];//滑块颜色
[slider setValue:10 animated:YES];//滑块位置
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];//响应方法
//滑块图案
-(void)setThumbImage:(UIImage *)image forState:(UIControlState)state;
//设置滑块划过部分的线条图案
-(void)setMinimumTrackImage:(UIImage *)image forState:(UIControlState)state;
//设置滑块未划过部分的线条图案
-(void)setMaximumTrackImage:(UIImage *)image forState:(UIControlState)state;

Slider的滑块大小、自身高度、左右图片大小是可以改变的。我们需要在自定义Slider类中重写以下方法:

- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds;  //返回左边图片大小  
- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;  //返回右边图片大小  
- (CGRect)trackRectForBounds:(CGRect)bounds;              //返回滑道大小  
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;  //返回滑块响应范围大小 

例子:设置滑道大小,与滑块响应范围

#import "newSlider.h"  
@implementation newSlider  
- (CGRect)trackRectForBounds:(CGRect)bounds {  
    return CGRectMake(0, 0, ScreenWidth, 8);  
}  

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value{
    bounds = [super thumbRectForBounds:bounds trackRect:rect value:value];
    return CGRectMake(bounds.origin.x, bounds.origin.y, 20, 20);
}
@end  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 1,370评论 0 2
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,645评论 8 265
  • 一、简介<<UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值。和按钮一样,滑块也能响应...
    无邪8阅读 2,245评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 2014.11.2 接着昨天的说。 从左营到垦丁的客运巴士是走高速,台湾岛的地形中间是山脉隆起,从左营往垦丁由北往...
    Steel阅读 400评论 0 2