0

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];
        }
    }
}

何がいけないのかわからない…

4

0 に答える 0