1

ローテーション構成が動的に定義されているアプリがあるため、サポートされているローテーションをプロジェクト ファイルで設定できません。

したがって、新しい shouldRotate メソッドを処理する必要があります (Apple に感謝!!)

しかし、これらをオーバーライドし、完全な UI が縦向き以外で表示されないようにしたにもかかわらずです。ビデオ ビューが全画面表示され、回転している場合。ビデオは横向き静止画に回転します。

特に回転からビデオをプレビューする別の方法はありますか?

4

1 に答える 1

0

MPMoviePlayerViewControllerこれは、ポートレートと逆さまのポートレートをサポートするサブクラスを使用した実装です (ただし、マスクは簡単に変更できます)。あなたが提案したように、これはiOS 6で機能します。以前のバージョンには異なる回転セレクターがあります。

使用法:

NSURL* url = [NSURL URLWithString:@"your_movie"];
MovieViewController* mvc = [[MovieViewController alloc] initWithContentURL:url];

// I did this from the app delegate. 
// You could push this view controller, present it modally, etc.

[self.window setRootViewController:mvc];

MovieViewController.h:

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>

@interface MovieViewController : MPMoviePlayerViewController

- (id)initWithContentURL: (NSURL*) url;

@end

MovieViewController.m:

#import "MovieViewController.h"
#import <MediaPlayer/MediaPlayer.h>

@interface MovieViewController ()

@end

@implementation MovieViewController

- (id)initWithContentURL: (NSURL*) url
{
    self = [super initWithContentURL: url];
    if (self) {
        // Custom initialization


    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
/*
    ROTATION CODE
 */
- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}


@end

結果 (ノートの回転は、すべての回転に対してプロジェクトで有効になっています..):

ここに画像の説明を入力

于 2013-03-20T14:27:03.117 に答える