UISlider
@implementation ViewController
- (UIImage *) minimumTrackImage{ // thumb左侧样式
UIImage *result = [UIImage imageNamed:@"MinimumTrack"]; UIEdgeInsets edgeInsets;
edgeInsets.left = 4.0f;
edgeInsets.top = 0.0f;
edgeInsets.right = 0.0f;
edgeInsets.bottom = 0.0f;
result = [result resizableImageWithCapInsets:edgeInsets]; return result;
}
- (UIImage *) maximumTrackImage{ //thumb右侧样式
UIImage *result = [UIImage imageNamed:@"MaximumTrack"];UIEdgeInsets edgeInsets;
edgeInsets.left = 0.0f;
edgeInsets.top = 0.0f;
edgeInsets.right = 3.0f;
edgeInsets.bottom = 0.0f;
result = [result resizableImageWithCapInsets:edgeInsets]; return result;
}
- (void)sliderValueChanged: (UISlider *) paramSender { // slider值改变是调用的方法
if ([paramSender isEqual:self.mySlider]) {
NSLog(@"New value = %f", paramSender.value);
}
}
- (void)viewDidLoad
{
[superviewDidLoad];
self.view.backgroundColor = [UIColorwhiteColor];
self.mySlider = [[UISlideralloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 23.0f)];
self.mySlider.center = self.view.center;
self.mySlider.minimumValue = 0.0f;
self.mySlider.maximumValue = 100.0f;
self.mySlider.value = self.mySlider.maximumValue/2.0; //当前slider的值
[self.view addSubview:self.mySlider];
[self.mySlideraddTarget:selfaction:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
self.mySlider.continuous = NO; //放开slider后给出改变后的值,默认情况下是YES
[self.mySlider setThumbImage:[UIImageimageNamed:@"ThumbNormal.png"] forState:UIControlStateNormal]; //设置thumb的图案
[self.mySlider setThumbImage:[UIImageimageNamed:@"ThumbNormal.png"] forState:UIControlStateHighlighted]; //点击thumb时变成此图案
self.mySlider.minimumTrackTintColor = [UIColorredColor];
self.mySlider.maximumTrackTintColor = [UIColorgreenColor];
self.mySlider.thumbTintColor = [UIColorgrayColor];
[self.mySlider setMinimumValueImage:[UIImageimageNamed:@"MinimumValue"]]; //设置slider左边的图案
[self.mySlider setMinimumTrackImage:[self minimumTrackImage] forState:UIControlStateNormal];
[self.mySlider setMaximumValueImage:[UIImageimageNamed:@"MaximumValue"]];
[self.mySlider setMinimumTrackImage:[self maximumTrackImage] forState:UIControlStateNormal];
}