#iphone #xcode #ios4 #video
#iPhone #xcode #ios4 #Видео
Вопрос:
Мой вид MPMoviePlayerController добавлен в качестве подвида к виду другого контроллера просмотра. Когда я проигрываю видео в полноэкранном режиме и переворачиваю симулятор, видео не переворачивается, как и родительский просмотр. Однако, когда я добавляю return YES
к методу поворота (проверьте коды ниже), видео поворачивается в полноэкранном режиме, как я хотел, но родительский вид также поворачивается, чего я не хочу, потому что я не создавал альбомный вид для родительского вида. Как я могу разрешить поворот ТОЛЬКО для видео, когда оно находится в полноэкранном режиме, а не в родительском представлении??
Вот коды, которые я использовал:
Для видео:
- (void)viewDidAppear:(BOOL)animated {
NSBundle *bundle=[NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:@"MainPageMovie" ofType:@"mp4"];
NSURL *movieURL=[[NSURL fileURLWithPath:moviePath] retain];
MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
theMovie.scalingMode = MPMovieScalingModeAspectFill;
theMovie.view.frame = CGRectMake(115.0, 156.0, 200.0, 150.0);
[self.view addSubview:theMovie.view];
[theMovie play];
[super viewDidLoad];
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
}
И для метода поворота:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return YES;
}
Ответ №1:
Простым способом было бы использовать MPMoviePlayerViewController для отображения фильма. Поскольку это отдельный контроллер просмотра, он должен обрабатывать вращение за вас.
Если вы действительно хотите сделать это, добавив MPMoviePlayerController в качестве подпросмотра, перед вами стоит более сложная задача. В принципе, вам пришлось бы прослушать UIDeviceOrientationDidChangeNotification и применить соответствующие transform
, bounds
и center
к просмотру видеоплеера в зависимости от ориентации устройства.
Комментарии:
1. Итак, по сути, я либо создаю альбомный вид для родительского вида, что заставило бы меня создавать альбомные виды для всего приложения, либо продолжаю воспроизводить видео в портретном режиме, да ?? : P В любом случае, спасибо
Я попытаюсь добавить видео в отдельный просмотр. Это должно решить мою проблему
![]()