移动到显示 UITableView 的弹出窗口中的下一个视图
Posted
技术标签:
【中文标题】移动到显示 UITableView 的弹出窗口中的下一个视图【英文标题】:Moving to next view in popover displaying UITableView 【发布时间】:2012-10-08 06:26:46 【问题描述】:我为 iPhone 界面创建了一个应用程序,它显示 UITableView
作为它的 rootviewcontroller。当我们选择它的任何一行时,它会打开相应的detailViewController,我们从中选择值并显示在masterViewController中UITableView
的单元格中。此应用程序在 iPhone 模拟器中运行良好。
现在我想将此应用程序合并到 iPad 应用程序中。为此,我创建了一个UIPopOver
并将masterViewController 分配给弹出框。现在的问题是,UITableView
最初显示在弹出窗口中。但是当我们选择任何行时,下一个视图不会出现在弹出窗口中,因为它在应用程序仅针对 iPhone 运行时出现。我应该如何让它工作,以便我可以在UIPopOver
中导入具有原始功能的应用程序?
【问题讨论】:
你能发布一些代码,你是如何添加detailViewController的? 【参考方案1】:我认为你是从你的 masterViewController 推送 DetailViewController。但是你的 masterviewController 应该实现 NavigationController,我的意思是在弹出窗口中显示 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];
希望这会有所帮助!
【讨论】:
非常感谢 :) 它真的很有帮助...我犯了一个错误,只用 masterviewcontroller 初始化 popovercontroller...现在我已经通过了导航控制器,它在视图之间切换非常好:) 现在出现了一个新问题......我的委托方法不起作用,detailViewController 的值没有被传递给 masterViewController :( 在 uipopover 控制器外部测试时工作正常......请需要进一步的帮助 哪些委托方法不起作用以及如何将值从 detailviewcontroller 传递到 masterviewcontroller?最好用一些代码提出不同的问题。 我正在使用协议将值从 detailViewController 传递给 masterViewController ...对不起,我是新来的...无法弄清楚如何粘贴代码 第一件事,我猜在按钮点击时你会弹出你的 detailviewcontroller,第二件事,你可以将你的代码粘贴到你写问题的同一区域。点击编辑您的问题并将代码粘贴到那里。以上是关于移动到显示 UITableView 的弹出窗口中的下一个视图的主要内容,如果未能解决你的问题,请参考以下文章