0

現在、MPMoviePlayerViewController 内でいくつかのことをカスタマイズしようとしていますが、スライダーの 1 つに問題があります。

以下に示すように、2 つのスライダー、ボリューム スライダー、短いデュレーション スライダーを備えています。

以下を使用して:UIImage *thumbImage = [UIImage imageNamed:@"MPThumbSelected.png"]; [[UISlider appearance] setThumbImage:thumbImage forState:UIControlStateNormal];

ボリューム スライダーを含むすべてのスライダーをカスタマイズできますが、何らかの理由でナビゲーション バーの小さい方のスライダー サムが更新されません。誰か提案はありますか?どんな助けでも大歓迎です!ありがとうございました!!

ここに画像の説明を入力

4

1 に答える 1

6

のデフォルト コントロールを変更できますMPMoviePlayerController。できることの 1 つは、デフォルトのコントロールを非表示にしてMPMoviePlayerViewController、独自のカスタマイズ ボリューム スライダーを追加できることです。

moviePlayer.controlStyle=MPMovieControlStyleNone;

次のように音量ボタンを追加できます。

UIButton *soundBtn=[ UIButton buttonWithType:UIButtonTypeCustom];
    soundBtn.frame=CGRectMake(400,10,35,35);
    soundBtn.showsTouchWhenHighlighted=YES;
    [soundBtn setBackgroundImage:[UIImage imageNamed:@"valume.png"] forState:UIControlStateNormal];
    [soundBtn addTarget:self action:@selector(valumeAction) forControlEvents:UIControlEventTouchUpInside];
    [controllsView addSubview:soundBtn];

ボリュームの場合、MPVolumeView クラスを使用できます

-(void)volumeController{
    volumeView = [[UIView alloc]initWithFrame:CGRectMake(40,410,100,20)];
    volumeView.backgroundColor = [UIColor clearColor];

    [self.view addSubview:volumeView];

    //MP Valume Slider for controlling thew volume
    volumeslider = [[[MPVolumeView alloc] initWithFrame:volumeView.bounds] autorelease];
    NSArray *tempArray = volumeslider.subviews;
    for (id current in tempArray){
        if ([current isKindOfClass:[UISlider class]]){
            UISlider *tempSlider = (UISlider *) current;
            UIImage *stetchLeftTrack = [[UIImage imageNamed:@"bar_2.png"]
                                        stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];
            UIImage *stetchRightTrack = [[UIImage imageNamed:@"bar.png"]
                                         stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];
            [tempSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
            [tempSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
        } 
    } 
    [volumeView addSubview:volumeslider];
    //[controllsView addSubview:volumeView];
    [volumeView sizeToFit];
    volumeView.hidden = YES;
    isValumeBarHidden = YES;
    //Volume Slider created and added to the volumeview
}
于 2013-06-14T08:06:02.323 に答える