Can I control slider value programmatically?
I have used following code
for (UIView *view in [volumeView subviews]){
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
volumeViewSlider = (UISlider *) view;
}
}
//[volumeViewSlider setBackgroundColor:[UIColor colorWithRed:1.00 green:0.0 blue:0.0 alpha:1.0]];
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"leftslide.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
UIImage *stetch开发者_如何学CRightTrack = [[UIImage imageNamed:@"rightslide.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
// [customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal];
[volumeViewSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
[volumeViewSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
[volumeViewSlider setMinimumValueImage:[UIImage imageNamed:@"SpeakerSoft.tif"]];
[volumeViewSlider setMaximumValueImage:[UIImage imageNamed:@"SpeakerLoud.tif"]];
[NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(changeTheTimer) userInfo:nil repeats:NO];
}
-(void)changeTheTimer{
[volumeViewSlider setValue:0 animated:YES];
NSLog(@"Value is set to 0");
}
I want to stop all playbacks after one minute , but slider moves to zero and leaves of effect of master volume.
You can certainly make use of the UISlider instance method
- (void)setValue:(float)value animated:(BOOL)animated
This will reduce the slider value with or without animation.
UPDATE
Check this link on Controlling Master Volume
精彩评论