UISplitViewController с UINavigationController - PullRequest
0 голосов
/ 16 сентября 2011

Я новичок в мире iOS.Я хотел бы иметь приложение, которое основано на UISplitViewController, однако в некоторых случаях кнопка в подробном представлении (то есть UINavigationController) откроет пользовательский интерфейс на весь экран (с кнопкой возврата, которая вернется к splitViewController).Единственный вариант (законный от Apple), моделирует его с ModalView?

1 Ответ

0 голосов
/ 16 сентября 2011

Я не уверен, что это «HIG-friendly», но вы могли бы реализовать что-то, когда пользователь нажимает кнопку, вы отправляете сообщение обратно в ваш AppDelegate и говорите ему об обмене вашим splitViewController с вашим fullScreenViewController на уровне окна.

Например, в вашем AppDelegate.m:

- (void)showFullScreenController
{
    if (self.splitViewController.superview != nil) {    // Just check that the split view controller is currently showing
        FullScreenViewController *newFullScreenController = [[FullScreenViewController alloc] initWithNibName:@"FullScreenViewController" bundle:nil];
        self.fullScreenController = newFullScreenController;
        [newFullScreenController release];

        [self.splitViewController viewWillDisappear:YES];    // "YES" assumes you are animating the transition
        [self.fullScreenController viewWillAppear:YES];

        // Remove old view and add new one.
        [self.splitViewController.view removeFromSuperview];
        [window addSubview:self.fullScreenController.view];

        [self.splitViewController viewDidDisappear:YES];
        [self.fullScreenController viewDidAppear:YES];

        self.splitViewController = nil;
    }
}

Этот метод можно легко превратить в метод «переключения представлений», используя соответствующий оператор else и загрузив вместо него splitViewController.

Надеюсь, это поможет.

...