I have a UISlider, with a UILabel display range value. But When this view appear, there are no a default value. I wish display a default value when this view appear.
Thanks for your answers.
- (void)ViewDidLoad {
UISlider *firstSlider = [[UISlider alloc] init];
firstSlider.frame = CGRectMake(30, firstView.bounds.size.height/2-15, firstView.bounds.size.width-60, 60);
firstSlider.minimumTrackTintColor = HEXCOLOR(0xbbbbbb);
firstSlider.maximumTrackTintColor = HEXCOLOR(0xdddddd);
UIImage *sliderIMG = [UIImage imageNamed:@"slider.png"];
[firstSlider setThumbImage:sliderIMG forState:UIControlStateNormal];
firstSlider.minimumValue = 0;
firstSlider.maximumValue = 100;
firstSlider.value = 50;
firstSlider.continuous = YES;
[firstSlider addTarget:self action:@selector(getSliderValue:) forControlEvents:UIControlEventValueChanged];
[firstView addSubview:firstSlider];
}
- (void)getSliderValue:(id) sender {
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)roundf(slider.value);
NSString *firstResult = [NSString stringWithFormat:@"%d", progressAsInt];
NSString *firstPercentResult = [firstResult stringByAppendingString:@" %"];
_firstStat.text = firstPercentResult;
}
Your action method will not be called when a view is loaded. At least not automatically. If you do not want to write out setting the label value in your viewDidLoad
method, you could call your slider's action method.