首先把這個在您的ViewController播放視頻:
- (BOOL)shouldAutorotate
{
return YES;
}
然後實現強制所需方向或任何方向,你想方法:
- (void)forceOrientationPortrait
{
[[UIDevice currentDevice] setValue:[NSNumber numberWithInt:UIInterfaceOrientationPortrait] forKey:@"orientation"];
}
- (void)forceOrientationLandscape
{
[[UIDevice currentDevice] setValue:[NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft] forKey:@"orientation"];
}
末添加觀察員當MoviePlayer全屏並退出時。觀察員觸發之前提到的方向改變方法:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(forceOrientationLandscape) name:MPMoviePlayerDidEnterFullscreenNotification object:Nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(forceOrientationPortrait) name:MPMoviePlayerDidExitFullscreenNotification object:Nil];
}
都放在一起,應該是這樣的:
我本希望你能實現自己的目標。
- 編輯 -
如果你想強制設備縱向/橫向那麼你可以實現一個Boolean
是設置相應的ShouldAutorotate
方法後鎖定方向。嘗試是這樣的:當玩家進入景觀mode.After,如果裝置旋轉爲縱向,玩家將被旋轉爲縱向fullscreen.then如果我們將它旋轉到
forceOrientationLandscape methodn被調用一次再次景觀,forceOreintation方法不被調用。另外,當我們單擊完成按鈕時,第一次調用forceOrientationPortrait方法。 – abhi1992 2015-04-01 12:02:04
你應該自己編碼;)。請查看編輯後的答案,並在爲用戶強制執行鎖定設備方向後添加說明。如果我的回答很有用,請將其標記爲這樣。 – Michael 2015-04-01 12:55:35
謝謝你的努力邁克爾.. :)。我認爲它會工作。 – abhi1992 2015-04-03 08:02:33