Ранее я уже писал аналогичный вопрос, но на этот раз я предоставляю некоторый код для анализа.Я создаю PopOverController в моем файле AppDelegate.m и добавляю переменную NavigationController, которую я хочу передать в файл PopOverController.m, чтобы с помощью этого я хотел подтолкнуть другие представления.Вот как я создаю PopOver в AppDelegate.m
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if([viewController isKindOfClass:[SecondViewController class]]){
NSInteger index = [[self tabBarController] selectedIndex];
CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame];
PopOverViewController *popoverContentController = [[PopOverViewController alloc]init];
UINavigationController *navcon = [[UINavigationController alloc]initWithRootViewController:popoverContentController];
popoverContentController.contentSizeForViewInPopover = CGSizeMake(250, 85);
popover = [[UIPopoverController alloc]initWithContentViewController:popoverContentController];
NSLog(@"X:%f Y:%f",buttonFrame.origin.x,buttonFrame.origin.y);
[popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
}
}
И в моем PopOverController.m я пытаюсь использовать NavigationController для выбора таких представлений:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
sendFeedback *sendEmailViewController = [[sendFeedback alloc]initWithNibName:@"sendFeedback" bundle:nil];
downLoad *downloadFilelViewController = [[downLoad alloc]initWithNibName:@"downLoad" bundle:nil];
if (indexPath.row == 0)
[self.navigationController pushViewController:sendEmailViewController animated:YES];
else
[self.navigationController pushViewController:downloadFilelViewController animated:YES];
}
Нокогда я нажимаю на элемент TabBar для всплывающего окна, я получаю это сообщение SIGABRT:
Завершение приложения из-за необработанного исключения «NSGenericException», причина: «Аргумент контроллера представления содержимого должен быть корнем егоиерархия контроллера связанного представления. '
Есть какая-либо причина, почему это появляется?Где-то я делаю ошибку в своем коде?