Как получить доступ к navigationController из popoverController? - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь протолкнуть новый viewController в navigationController от popoverController, но у меня это не работает.

Вот как я звоню на popoverController:

PdfDetailViewController *vc=[[PdfDetailViewController alloc] initWithNibName:@"PdfDetailViewController" bundle:nil];
UIViewController* popoverContent = [[UIViewController alloc] init];
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0,0, 400, 280)];
vc.contentSizeForViewInPopover = CGSizeMake(700, 390);
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:vc];
[self.popoverController presentPopoverFromRect:cell.frame inView:self.tableView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[popoverView release];
[popoverContent release];

Это мой код из popoverController:

CommentsViewController *commentsViewController = [[CommentsViewController alloc] init];
commentsViewController.index = PdfID;
[self.parentViewController.navigationController pushViewController:commentsViewController animated:YES];
[commentsViewController release];

Ничего не происходит

Пожалуйста, помогите мне ... спасибо!

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

UIPopoverController не имеет NavigationController, если вы не добавите его самостоятельно.

Например

    MyViewController *myViewController = 
        [[MyViewController alloc]      
            initWithNibName:@"MuViewController" 
                     bundle:[NSBundle mainBundle]]; 


    UINavigationController *navController = 
        [[UINavigationController alloc] 
            initWithRootViewController:myViewController];

    UIPopoverController *popover = 
        [[UIPopoverController alloc] 
            initWithContentViewController:navController]; 
0 голосов
/ 02 декабря 2011

Вы должны начать с очистки вашего кода, чтобы он имел смысл. Прямо сейчас вы создаете UIView под названием popoverView без всякой причины, а затем просто выбрасываете его. Вы просто запутываете себя, и вам сложнее понять, чего вы пытаетесь достичь, когда показываете многозначный код.

Как только вы это сделаете, что вы пытаетесь достичь? Проблема в том, что эта строка не работает: self.parentViewController.navigationController pushViewController:? Если это так, я бы предложил разделить его и записать в журнал, чтобы убедиться, что parentViewController и navigationController являются объектами, о которых вы думаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...