我为iPhone界面创建了一个应用程序,它显示UITableView
作为其rootviewcontroller。当我们选择任何一行时,它会打开相应的detailViewController,我们从那里选择值,它显示在masterViewController的UITableView
单元格中。这个应用程序在iPhone模拟器中运行得很好。
现在我想将此应用程序合并到iPad应用程序中。为此,我创建了一个UIPopOver
并将masterViewController分配给popover。现在的问题是,UITableView
最初显示在popover中。但是当我们选择任何行时,下一个视图不会出现在弹出窗口中,因为它在应用程序仅针对iPhone运行时出现。我应该如何使其工作,以便我可以在UIPopOver
?
答案 0 :(得分:2)
我认为你是从masterViewController推送DetailViewController。但你的masterviewController应该实现NavigationController,我的意思是在popover中显示masterViewController(你的tableviewcontroller)你应该这样做:
MasterViewController *theMasterViewController = [[MasterViewController alloc] init];
UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController:theMasterViewController];
[theMasterViewController release];
UIPopoverController *popOverController = [[UIPopoverController alloc] initWithContentViewController:navCont];
popOverController.popoverContentSize = CGSizeMake(400, 400);
[popOverController presentPopoverFromRect:btn.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
当用户选择任何行时,在didSelectRowAtIndexPath中执行如下操作:
DetailViewController *detailViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
希望这有帮助!