我曾經這樣做過。只需setTransform:CGAffineTransformMakeRotation(M_PI/2)
- (void)rotateVideoToLandscape {
int64_t delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
});
// Before rotate the video, exchange the width & height for a better user-experience.
[self.view setBounds:CGRectMake(0, 0, self.view.height, self.view.width)];
[self.view setCenter:CGPointMake(self.view.width/2, self.view.height/2)];
[self.view setTransform:CGAffineTransformMakeRotation(M_PI/2)];
CGRect playerRect = self.view.bounds;
// Do something needed.
self.moviePlayerController.view.frame = playerRect;
}
感謝您的編輯。 @ IOS的開發 –