【问题标题】:Making an alternative to UITabBarController替代 UITabBarController
【发布时间】:2011-01-30 09:34:17
【问题描述】:

我正在制作一个自定义 UIViewController,它类似于 UITabBarController,因为有一些按钮可以在视图之间切换。但是我不确定切换视图的最佳方式是什么:

  1. 在 nib 文件中有一个 UIView,并根据需要将 viewController 的视图作为子视图添加/删除。

  2. 在 nib 文件中有一个 UIView(作为 IBOutlet),并将 UIView 替换为 viewController 的视图,以便它们直接成为 myTabBarController 的视图的子视图。

  3. nib 中没有 UIView,并在添加时以编程方式设置 viewControllers 的框架,因此它们直接是 myTabBarController 的视图的子视图

【问题讨论】:

  • 哪些额外功能需要哪些标签栏默认不提供,最好使用内置控制器
  • 我需要在导航堆栈中使用它,它看起来与标签栏非常不同。

标签: iphone objective-c ipad


【解决方案1】:

我不得不做一次类似的事情,就我而言,让我的主人更简单 “切换”视图(因为没有更好的术语)维护UIViewControllers 的列表。这样,即使相应的视图不可见或什至已被破坏(例如,为了节省内存),我也能够保持子视图控制器的状态,这使得跟踪每个“页”。在我的方法中,我只是以编程方式将每个UIViewController 添加到切换视图中。基本上你的方法#3。

也就是说,您的方法#1 和#2 没有任何问题。他们会完成这项工作。关于#1,我唯一不太喜欢的一点是它不能轻松扩展,因为您已经在编译时静态设置了哪些视图是切换器的子视图,并且在运行时无法轻易更改。

【讨论】:

    【解决方案2】:

    我正在使用来自 Red Artisan 的 Marcus Crafter 的 this approach。效果非常好。

    【讨论】:

    • 感谢您提供的链接 - 这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 2014-11-13
    • 2016-07-03
    相关资源
    最近更新 更多