UIslider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值。和按钮一样,滑块也能响应事件,还可像文本框一样被读取。如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作。
代码自定义控件:
UISlider *m_slider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 200, 20)]; //初始化
m_slider.minimumValue = 0;;//指定可变最小值
m_slider.maximumValue = 100;//指定可变最大值
m_slider.value = 50;//指定初始值
[m_slider addTarget:self action:@selector(updateValue:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:slider];
-(void)updateValue:(id)sender {
NSLog(@"%f",m_slider.value);
}
下面我们做一个自定义样式的UISlider
在viewController.h中声明UISlider对象
@property (weak, nonatomic) IBOutlet UISlider *m_Slider;
并且通过拖拽声明IBAction方法:
- (IBAction)updateValue:(id)sender;
之后在viewController.m中对创建的m_Slider初始化它的属性:
@implementation ...
@synthesize m_Slider;
-(void)viewDidLoad{
[super viewDidLoad];
m_Slider.minimumValue = 0;////指定可变最小
m_Slider.maximumValue = 100;////指定可变最大值
m_Slider.value = 50;
m_Slider.backgroundColor=[UIColor clearColor];//将背景颜色设置成透明的,方便设置Slider样式
[m_Slider setMinimumTrackImage:[UIImage imageNamed:@"min.png"] forState:UIControlStateNormal];//设置滑条左侧的图片
[m_Slider setMaximumTrackImage:[UIImage imageNamed:@"max.png"] forState:UIControlStateNormal];//设置滑条右侧的图片
[m_Slider setThumbImage:[UIImage imageNamed:@"slider.png"] forState:UIControlStateHighlighted];//设置点击滑块儿的图片
[m_Slider setThumbImage:[UIImage imageNamed:@"slider.png"] forState:UIControlStateNormal];//设置滑块儿未点击时的图片
}
- (IBAction)updateValue:(id)sender {
UISlider * sl=(UISlider*)sender;
textLab.text=[NSString stringWithFormat:@"%.2f",sl.value];
}
UILabel我就不做了,哪里不明白就留言吧,这是运行时候的图片,由于图是自己匆匆忙忙抠的图,有点蹉,将就着看吧,然后最后给大家留下我自己扣的图片给你们做样式的。