#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blackColor];
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(50, 100, self.view.frame.size.width - 100, 40)];
[self.view addSubview:slider];
[slider release];
// 设置可变最小值
slider.minimumValue = 0;
// 设置可变最大值
slider.maximumValue = 255;
// 设置初始值
slider.value = 0;
// 设置划过区域的颜色(默认是蓝色)
slider.minimumTrackTintColor = [UIColor redColor];
// 设置未划过区域的颜色(默认是灰色)
slider.maximumTrackTintColor = [UIColor cyanColor];
// 给滑块添加事件
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// 改变slider的样式
slider.backgroundColor = [UIColor clearColor];
// 设置划过区域和未划过区域的图片
[slider setMinimumTrackImage:[UIImage imageNamed:@"track"] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[UIImage imageNamed:@"track"] forState:UIControlStateNormal];
// 设置滑块的图片
//注意这里要加UIControlStateNormal的状态,否则初始化后看不到滑块
[slider setThumbImage:[UIImage imageNamed:@"mark"] forState:UIControlStateHighlighted];
[slider setThumbImage:[UIImage imageNamed:@"mark"] forState:UIControlStateNormal];
// 按下滑块也可以触发对应的方法,只需要改变ControlEvents的方式即可
// UIControlEventTouchDown 按下滑块触发
// UIControlEventTouchUpInside 离开滑块会触发
// UIControlEventTouchDragExit 拖拽(非水平方向的拖拽)滑块会触发
[slider addTarget:self action:@selector(sliderEndAction:) forControlEvents:UIControlEventTouchDragExit];
}
- (void)sliderAction:(UISlider *)sender
{
// 让视图的背景颜色由黑变白
self.view.backgroundColor = [UIColor colorWithRed:sender.value/255.0 green:sender.value/255.0 blue:sender.value/255.0 alpha:1.0];
}
- (void)sliderEndAction:(UISlider *)sender
{
NSLog(@"XXXXXXXXXXXXXXXX");
@interface RootViewController ()
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blackColor];
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(50, 100, self.view.frame.size.width - 100, 40)];
[self.view addSubview:slider];
[slider release];
// 设置可变最小值
slider.minimumValue = 0;
// 设置可变最大值
slider.maximumValue = 255;
// 设置初始值
slider.value = 0;
// 设置划过区域的颜色(默认是蓝色)
slider.minimumTrackTintColor = [UIColor redColor];
// 设置未划过区域的颜色(默认是灰色)
slider.maximumTrackTintColor = [UIColor cyanColor];
// 给滑块添加事件
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// 改变slider的样式
slider.backgroundColor = [UIColor clearColor];
// 设置划过区域和未划过区域的图片
[slider setMinimumTrackImage:[UIImage imageNamed:@"track"] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[UIImage imageNamed:@"track"] forState:UIControlStateNormal];
// 设置滑块的图片
//注意这里要加UIControlStateNormal的状态,否则初始化后看不到滑块
[slider setThumbImage:[UIImage imageNamed:@"mark"] forState:UIControlStateHighlighted];
[slider setThumbImage:[UIImage imageNamed:@"mark"] forState:UIControlStateNormal];
// 按下滑块也可以触发对应的方法,只需要改变ControlEvents的方式即可
// UIControlEventTouchDown 按下滑块触发
// UIControlEventTouchUpInside 离开滑块会触发
// UIControlEventTouchDragExit 拖拽(非水平方向的拖拽)滑块会触发
[slider addTarget:self action:@selector(sliderEndAction:) forControlEvents:UIControlEventTouchDragExit];
}
- (void)sliderAction:(UISlider *)sender
{
// 让视图的背景颜色由黑变白
self.view.backgroundColor = [UIColor colorWithRed:sender.value/255.0 green:sender.value/255.0 blue:sender.value/255.0 alpha:1.0];
}
- (void)sliderEndAction:(UISlider *)sender
{
NSLog(@"XXXXXXXXXXXXXXXX");
}
@end