iPad SplitViewController 带有用于详细视图的单独导航堆栈

Posted

技术标签:

【中文标题】iPad SplitViewController 带有用于详细视图的单独导航堆栈【英文标题】:iPad SplitViewController with separate navigation stack for detail view 【发布时间】:2011-01-17 18:08:25 【问题描述】:

我希望有人能告诉我是否可以在拆分视图控制器的详细视图上放置一个单独的导航堆栈。我一直在努力解决这个问题,现在想知道这是否可能。

我正在开发一个允许用户浏览会议日程的通用应用程序。在 iphone 上,这只是一个表格视图,其中用户:

-->从主题列表(普通表)中选择一个会话主题

---->从主题列表(普通表)中选择会话标题

----->查看有关会议的详细信息,包括要提交的论文,并且可以选择单个表格(分组表格)

-------->查看论文的详细信息(分组表)

我想为 ipad 版本做的事情是这样的: -->从主题列表中选择一个会话主题(根控制器,普通表)

---->从主题列表中选择一个会话标题(根控制器,普通表)

----->查看有关会议的详细信息,包括要提交的论文,并且可以选择单个表格(详细信息控制器,分组表格)

-------->查看论文的详细信息(详细控制器,分组表)

这是目标,但是我在让细节控制器拥有单独的导航堆栈方面所做的一切尝试都搞砸了拆分视图控制器。我可以让一切正常工作到最后一步。但是,一旦我将有关论文的详细信息推送到详细信息控制器堆栈上,splitview 控制器就会发疯。

有没有人完成我上面描述的事情?

我可以简单地将会话详细信息控制器替换为论文详细信息控制器,而不是尝试将其推入堆栈。但后来我失去了导航堆栈的所有好处,失去了所有免费的过渡动画,并且不得不为 iPhone 和 iPad 维护同一张表的大幅修改版本。

提前感谢您的任何建议。

【问题讨论】:

【参考方案1】:

我发誓,有时我认为堆栈溢出最大的好处是公开发布问题的频率促使我自己解决问题。

所以我所描述的绝对是可能的。只需查看设置应用程序。它完全符合我的描述。

我遇到的问题是我的一些细节视图控制器,因为它们是从 iPhone 版本继承的,没有实现“shouldAutoRotate”。一旦我添加了它,一切就都到位了。

如果其他人遇到类似问题,我可能还建议您从 Matt Long 的向 splitViewController 添加导航堆栈的演练开始:http://www.cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template/

【讨论】:

以上是关于iPad SplitViewController 带有用于详细视图的单独导航堆栈的主要内容,如果未能解决你的问题,请参考以下文章

iPad splitViewController 弹出主视图

SplitViewController 显示细节 iPad Pro 纵向模式

使用 splitViewController 在 iPad 故事板上出现黑屏

iPad SplitViewController - 使用 iPhone 故事板 ViewController

iPad SplitViewController 内存警告导致主视图出现问题

Ipad SplitViewController 导航到另一个视图