MPVolumeView は、指で動かす前にハードウェア ボタンを介して変化しません。最初の変更後、正常に動作します。これは通常の UISlider で、クラスが MPVolumeSlider に変更されました。
コードでは、いくつかのグラフィックを変更するだけです。
.h ファイル:
IBOutlet MPVolumeView *volume;
.m ファイル:
- (void)viewDidLoad {
[super viewDidLoad];
volume.transform = CGAffineTransformRotate(volume.transform, 270.0/180*M_PI);
UIView *a=[[UIView alloc] init];
for (UIView *view in [self.view subviews]) {
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
a=view;
[(UISlider *)a setThumbImage:[UIImage imageNamed:@"MiddleKnob.png"] forState:UIControlStateNormal];
[(UISlider *)a setThumbImage:[UIImage imageNamed:@"MiddleKnob.png"] forState:UIControlStateHighlighted];
[(UISlider *)a setMinimumTrackImage:[UIImage imageNamed:@"MiddleProgress.png"] forState:UIControlStateNormal];
[(UISlider *)a setMaximumTrackImage:[UIImage imageNamed:@"MiddleRaw.png"] forState:UIControlStateNormal];
}
}
}
何がいけないのかわからない…