are*_*esz 5 objective-c storyboard ipad uisplitviewcontroller segue
我正在尝试为iPad设计一个项目,在其中我要利用拆分视图控制器。对于主视图控制器中的每个单元,我将使用不同的详细视图控制器。
我看到了一个解决方案,该方案是如何通过此站点中的情节提要进行的。
他基本上将每个UITableViewCell链接到不同的详细信息视图控制器。但是我想知道这是一种“稳定”还是“良好”的方式。我的意思是,它像以编程方式进行一样更好或更稳定吗?如果有的话,采用他的方法会有什么后果?
这是我找到的解决方案的链接
尽管这是一个非常常见的用例,但这是一个棘手的问题。
1)一个想法是使用一个空的根视图控制器作为您的细节,它在后台处理管理转场,以利用“替换”转场快速转入您真正关心的细节视图。这应该“从技术上”修复左上角的“后退”按钮,并且仍然允许您弹出到根目录并且不让它显示空控制器。不过还没有测试过这些,所以我不确定。
编辑:在 Xcode 6 中,“替换”segue 由“显示详细信息”segue 方便地处理,该“显示详细信息”segue 专门用于分割视图控制器上的此类视图处理。我建议在新项目中专门使用这种方法。请参阅示例代码。
2)另一个想法是在故事板中有单独的导航控制器(一个连接,其余全部搁浅)。每种详细视图类型都有一个,点击主菜单即可将详细视图的导航控制器交换为您关心的控制器。
AppDelegate 中类似的代码:
self.detailNavigationController = [self.masterNavigationController.storyboard instantiateViewControllerWithIdentifier:@"MyChosenNavigationControllerStoryboardId"];
self.splitViewController.viewControllers = @[self.splitViewController.viewControllers[0], self.detailNavigationController];
self.splitViewController.delegate = (id)self.detailNavigationController.topViewController;
Run Code Online (Sandbox Code Playgroud)
第二种方法的缺点是,在内存测试中,交换新的导航控制器似乎并没有释放旧导航控制器正在使用的所有内存。因此,它适用于简单的应用程序,但不适用于任何疯狂的复杂应用程序。
| 归档时间: |
|
| 查看次数: |
4022 次 |
| 最近记录: |