![](/img/trans.png)
[英]iOS 6 MPMoviePlayerViewController and presentMoviePlayerViewControllerAnimated Rotation
[英]iOS7 viewController and MPMoviePlayerViewController Rotation
我嘗試了很多東西,但我仍然無法在我的所有應用中只旋轉1個viewControllor。 我只想在橫向上顯示 (或旋轉 )帶有MPMoviePlayerViewController
的vc。
喜歡Facebook應用中的視頻。 該應用僅限於縱向,但視頻可以旋轉。 播放視頻后,應用程序以縱向模式返回。 我能夠試着但是在“完成”后,videoplayer按鈕點擊景觀模式中的視圖返回。
我怎樣才能解決這個問題?
非常感謝你。
為播放視頻創建新的視圖控制器
單擊Project,然后單擊Target。 在“部署信息”下的“常規”類別中,啟用“所有輪換”
現在打開您的Root視圖控制器並輸入以下代碼。給您應用的方向
碼:
-(BOOL)shouldAutorotate
{
return TRUE;
}
-(NSUInteger)supportedInterfaceOrientations
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
return UIInterfaceOrientationMaskPortrait;
}
else
{
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
}
4.現在,如果您使用addsubview方法來表示其他ViewController的視圖,則無需將orintation方法應用於其他控制器。 但是如果您使用了PresentController方法的任何vc,則向該控制器添加方向方法
創建一個新的UIViewController
,用於顯示視頻。
創建MPMoviePlayerController
屬性
@property (nonatomic, strong) MPMoviePlayerController* moviePlayerController;
然后在viewDidLoad中,試試這個:
- (void)viewDidLoad
{
[super viewDidLoad];
_moviePlayerController = [[MPMoviePlayerController alloc] init];
_moviePlayerController.controlStyle = MPMovieControlStyleFullscreen;
_moviePlayerController.contentURL = [NSURL URLWithString:@"example.com"];
// Rotating the player to landscape position
_moviePlayerController.view.frame = CGRectMake(0.0f,
0.0f,
[UIScreen mainScreen].bounds.size.height,
[UIScreen mainScreen].bounds.size.width);
_moviePlayerController.view.transform = CGAffineTransformMakeRotation(M_PI_2);
_moviePlayerController.view.center = self.view.center;
UIView *playerView = _moviePlayerController.view;
[self.view insertSubview:playerView atIndex:0];
[_moviePlayerController prepareToPlay];
}
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.