Панель навигации в UIPopover - PullRequest
       4

Панель навигации в UIPopover

2 голосов
/ 15 февраля 2011

в приложении iPad для splitviewcontroller я показываю пользовательский всплывающий экран (который загружает rootviewController).Как показать не только табличное представление, но и панель навигации поверх него (чтобы отобразить заголовок таблицы «Категории»).

Вот мое приложение:

enter image description here

Мой код для отображения поповера:

- (IBAction)showPopover:(UIButton *)sender {
if([self.popoverController isPopoverVisible])
{
    [self.popoverController dismissPopoverAnimated:YES];
    return;
}

// Build a custom popover view
TemplatesAppDelegate *delegate = (TemplatesAppDelegate*)[[UIApplication sharedApplication] delegate];

// Create a popover controller
self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:delegate.rootViewController] autorelease];

// Present the popover view non-modal at the pressed button's position
[self.popoverController presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Если вам нужен целый UINavigationController со всеми функциями, вы можете сделать так:

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:delegate.rootViewController];

self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:navController] autorelease];
[navController release];

Или, если вы хотите просто навигационную панель, вы можете добавить в свой popovercontroller.

UINavigationBar *tableViewNavigationBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
[self.popoverController addSubView:tableViewNavigationBar];

Я не тестировал код, но он должен работать.

0 голосов
/ 06 декабря 2015

Вы можете попробовать это:

CNYAssetTypeViewController *avc=[[CNYAssetTypeViewController alloc] init];
if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad){
    UINavigatinoController *nv=[[UINavigationController alloc]initWithRootViewController:avc];
    self.assetTypeControllerPopover=[[UIPopOverController alloc]initWithContentViewController:nv];
    self.assetTypeControllerPopover.delegat=self;
    avc.title=@"CNY";
    [self.assetTypeControllerPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopOverArrowDirectionAny animated:YES];
}else{
    [self.navigationController pushViewController:avc animated:YES];    
}
...