#iphone #cocoa-touch #ios
#iPhone #прикосновение какао #iOS #cocoa-touch
Вопрос:
Я новичок в разработке iPhone и пишу свое первое приложение. Всему приложению нужен только портретный режим, за исключением воспроизведения фильмов. Я использую MPMoviePlayerController для запуска фильма, и он воспроизводится в режиме прорисовки. Как я могу заставить MPMoviePlayerController воспроизводить все фильмы в альбомной ориентации. Я использую Xcode 4 и создаю для iOS 4.0 . Нужно ли мне вводить некоторые настройки в info.plist, чтобы разрешить MPMoviePlayerController воспроизводить альбомную ориентацию?
Вот код, который я использую для инициализации MPMoviePlayerController:
MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL: url];
[self.view addSubview:theMovie.view];
theMovie.allowsAirPlay=YES;
[theMovie setFullscreen:YES animated:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
[theMovie play];
Ответ №1:
Встроить проигрыватель в его собственный контроллер просмотра и реализовать shouldAutorotateToInterfaceOrientation
следующим образом:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
Комментарии:
1. у меня это не работает — у меня есть контроллер просмотра, который отображает фильмы, и он полностью в альбомном режиме, но фильм по-прежнему запускается в портретном … идеи?
Ответ №2:
Создайте подкласс MPMoviePlayerViewController
:
@interface MyMoviePlayerViewController ()
@end
@implementation MyMoviePlayerViewController
- (BOOL)shouldAutorotate { return NO; }
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
@end