【问题标题】:Tab bar in Split View Controller Root - How to connect to Detail View?拆分视图控制器根中的选项卡栏 - 如何连接到详细视图?
【发布时间】:2011-02-20 04:26:08
【问题描述】:

在我的第一个 iPad 项目上工作,在经历了许多错误的开始之后,我有了一个我很满意的基本界面,它包括一个拆分视图控制器,在根/弹出框底部有一个 4 选项卡标签栏。

对于 4 个选项卡中的每一个,我都有 4 个不同的视图控制器。其中三个包含表格,第四个包含我的设置滑块和开关。所有这些都适用于纵向或横向。

我面临的挑战是如何从这些不同的选项卡驱动详细视图。我不一定需要多个详细视图,因为所有 3 个表都将引用相同的数据,只是排序不同。因此它们可能都连接到同一个详细视图。

我还没有找到任何其他这样使用标签栏的例子,但它似乎是我的应用程序的完美解决方案。

如何建立连接,以便当我选择表格单元格时,detailItem 信息会显示在详细信息视图中?选项卡栏已添加到 IB 的根视图中。我应该改为以编程方式添加它吗?

有没有人有一个示例项目,你已经让它工作了?

谢谢!

【问题讨论】:

    标签: ipad tabbar uisplitview


    【解决方案1】:

    不要太沉迷于“标签栏”部分。考虑一个更简单的应用程序如何工作:如果您在 RootViewController 中选择一个单元格,您将如何通知 DetailViewController?

    它不会是自动的。最有可能的是,您将有一个从 RootViewController 到 DetailViewController 的专用连接 - 您将从 RootViewController 调用 DetailViewController 上的某些方法,例如

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
    

    RootViewController 中的方法。事实上,这就是模板 UISplitView iPad 应用程序的设置方式。从 RootViewController 到 DetailViewController 有一个 IBOutlet 连接。

    只要您正确管理内存(保留、释放) - 如果您的每个(根)视图控制器(在选项卡视图中)都与单个 DetailViewController 连接,则应该没有问题。为了防止选项卡控制器相互踩踏,您可能希望将逻辑集中到“中间人”类中。也许你想在 ViewControllerB 对 ViewControllerA 刚刚排序的细节进行排序之前清理一些东西......

    这部分由你决定。请注意,不会发生后端黑魔法,因此 DetailViewController 会自动更新以根据在任何 RootViewController 中选择的单元格显示某些内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多