如何在 iPad 的较小区域模拟 navigationController/UITableView DrillDown?

Posted

技术标签:

【中文标题】如何在 iPad 的较小区域模拟 navigationController/UITableView DrillDown?【英文标题】:How simulate a navigationController/UITableView DrillDown in a smaller area of the iPad? 【发布时间】:2011-06-29 20:28:08 【问题描述】:

我有一个 2 深菜单 (UITableView),它是 iPad 主菜单中的子视图。所以,这不是一个控制器,是一个普通的 UITableView。

However, I want to provide the same visual feedback as with navigation controller, so when a item in the first-level of the table is selected, get push the second and the ability to go back.

这不在拆分视图中,对于此 UI,拆分视图不是答案。把桌子想象成一个大盒子里的盒子,周围还有其他盒子。

【问题讨论】:

【参考方案1】:

我能够通过创建一个包含导航控制器和任何子层视图的主视图控制器来实现这一点。我遵循了与 Apple 的 DrillDownSave 示例中相同的一般原则,只是我跳过了 xib 文件中的 Window 对象和 AppDelegate 对象。我使用 UIView 代替,因为我使用 UIViewController 来管理所有内容。

之后我要做的就是在我想要放置的任何视图中创建主视图控制器的实例,并将其框架设置为我希望它显示在该视图中的任何位置。我遇到的一个有趣的问题是导航控制器想要跨越屏幕的宽度,即使它的父视图设置得更小。我所要做的就是在设置其主视图的框架的同时设置其框架中的宽度,一切顺利。

这里有很多代码,但基本布局如下:

一些视图控制器 导航项的主视图控制器(设置为“某些”视图控制器的属性并在其 viewDidLoad 中实例化/定位/添加为子视图) UINavigationController(在 xib 中,如 Apple 示例) 带有 UITable 的一级视图控制器 带有 UITable 的二级视图控制器 带有 UITable 的三级视图控制器 xib 中的占位符视图可以更轻松地排列导航项主控

*注意 - 我没有像 Apple 示例那样使用叶子视图,因为我不需要它来实现我的目的

我不知道我是否解释得很好,所以如果您需要进一步说明,请告诉我。希望这会有所帮助!

【讨论】:

以上是关于如何在 iPad 的较小区域模拟 navigationController/UITableView DrillDown?的主要内容,如果未能解决你的问题,请参考以下文章

如何有效地计算另一列中每个元素的较小元素的数量?

MATLAB-如何随机选择具有更高概率的较小值?

如何缓存静态画布区域以获得性能

将列表拆分为 N 大小的较小列表

UIScrollView 用于主 UIView 内的较小 UIView

如何在 iPad 应用程序隐藏状态栏区域中获取触摸事件?