替代UITabBarController

时间:2011-01-29 22:41:13

标签: iphone objective-c ipad

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

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

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

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

2 个答案:

答案 0 :(得分:1)

我必须做一次类似的事情,而在我的情况下,拥有我的主人更简单 “切换”视图(缺少更好的术语)维护UIViewControllers列表。这样,即使相应的视图不可见或甚至被销毁(例如,为了节省内存),我也能够维护子视图控制器的状态,这使得跟踪每个视图的信息变得更加简单。页”。在我的方法中,我只是以编程方式将每个UIViewController添加到切换视图中。基本上你的方法#3。

那就是说,你的方法#1和#2没有任何问题。他们会做这个工作。我唯一不喜欢#1的是它不能轻松扩展,因为你在编译时静态设置哪些视图是切换器的子视图,并且在运行时无法轻易改变它。

答案 1 :(得分:0)

我正在使用Red Artisan的Marcus Crafter的this approach。它运作得非常好。