2013-08-13 2 views
3

Я использую шаблон приложения Master-Detail, в своем приложении для iPad.
У меня есть мастер-вид, который содержит список видео. При выборе любого элемента списка он начинает воспроизводить видео этого элемента в подробном представлении.
Я использую MPMoviePlayerController для воспроизведения видео.
Если я нажимаю полноэкранный значок, плеер должен заполнить весь экран (мастер-просмотр, а также подробный просмотр, а не только подробный просмотр).
Как я могу это сделать? Пожалуйста помоги!Заполнить мастер и подробный вид в полноэкранном режиме iPad

+0

Когда вы выбираете на e Video, ваш основной вид должен быть удален .. Правильно? Таким образом, его видно, чтобы отображать полноэкранный режим на весь экран. – Myaaoonn

+0

@Myaaoonn это не правильное решение для удаления master View –

+2

Не знаете, почему это было приостановлено? Кажется, это законный вопрос. – Aron

ответ

10

вы можете скрыть или показать MasterViewcontroller С помощью Делегат UISplitViewController

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation 

- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem; 

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc; 

UPDATE: -

Пример кода: -

установить один BOOL значение в вас DetailViewController.h класс

@interface DetailViewController : UIViewController <UISplitViewControllerDelegate> 

@property (nonatomic) BOOL IShide; 

и делать это следующий метод в вас оГО класс

-(void)hideMaster:(id)hideState 
{ 

    _IShide=!self.IShide; 
    [self.splitViewController.view setNeedsLayout]; 
    self.splitViewController.delegate = nil; 
    self.splitViewController.delegate = self; 

    [self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0]; 

//also put your `MPMoviePlayerController` Fullscreen Method here 
} 

#pragma mark - Split view 

-(BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation 
{ 
    return self.IShide; 
} 
- (void)viewDidLoad 
{ 

    UIBarButtonItem *Fullscreen = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"FullScreen", nil) style:UIBarButtonItemStylePlain target:self action:@selector(hideMaster:)]; 
    [self.navigationItem setRightBarButtonItem:Fullscreen animated:YES]; 
    [super viewDidLoad]; 

} 

в то время как вы нажмете на Fullscreen Event вас MPMoviePlayerController вызова этого делегат с этим событием, как в паре, что вы закроете и показать MasterViewController.

код ВЫХОД является

enter image description here

+0

спасибо, +1 за демо/анимацию – byJeevan

+0

вы приветствуете @jeekНадежная надежда, которая поможет вам. –

+0

Это вызывает некоторые странные проблемы в iOS8 после поворота устройства на портрет. – Leon

0

Обзор мой ответ здесь: https://stackoverflow.com/a/20483347/1712892. Принятый ответ подобен тому, как я это делал. Но я всегда хотел, чтобы это было немного оживленным. Вот моя анимированная версия.

Смежные вопросы