Как заставить POPOVER UISPLITVIEW видимым в портретном режиме iPad

StackOverflow https://stackoverflow.com/questions/3628828

Вопрос

Я хотел бы сделать Visual View View, когда пользовательские переключатели выключаются с точки зрения пейзажа на вид портрета в UISPLITVIVE IPAD. Хотя пользователь может сделать его видимым, нажав кнопку на баре, но я хочу, чтобы это было автоматизировано для портретного режима.

Это было полезно?

Решение

Внутри "- (bool)" Метод "," Метод "

Всего наилучшего.

Другие советы

Uisplitviewcontroller отправляет сообщения своему делегату (uisplitviewcontrollerdelegate). Вы можете реализовать эти методы делегата для показать попуклад. Вы можете сделать что-то вроде этого в вашем коде «Контроллер подробностей»:

#pragma mark -
#pragma mark UISplitViewControllerDelegate implementation
- (void)splitViewController:(UISplitViewController*)svc 
     willHideViewController:(UIViewController *)aViewController 
          withBarButtonItem:(UIBarButtonItem*)barButtonItem 
       forPopoverController:(UIPopoverController*)pc
{  
    [barButtonItem setTitle:@"Your 'popover button' title"];
    self.navigationItem.leftBarButtonItem = barButtonItem;
}


- (void)splitViewController:(UISplitViewController*)svc 
     willShowViewController:(UIViewController *)aViewController 
  invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
    self.navigationItem.leftBarButtonItem = nil;
}

Принятый ответ (используя shouldAutorotateToInterfaceOrientation) не работает для меня. Он либо имеет артефакты вращения (в темуляторах 4,2 и 5,0 iPad) или только показывает только при запуске и никогда не в последующих вращениях (симулятор 4.3). То, что я сделал вместо этого было создание функции небольшого помощника:

- (void)showPopoverInPortrait {
    if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait) {
        [self.masterPopoverController presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem
                                             permittedArrowDirections:UIPopoverArrowDirectionAny 
                                                             animated:YES];
    }
}

и называть это в пределах - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation и - (void)viewDidLoad Также обрабатывать запуск.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top