适用于iPhone上单个视图的多个视图控制器

时间:2010-11-22 03:36:03

标签: iphone uiviewcontroller interface-builder

想想一个基于iPhone的电子邮件客户端。您有三个具有相同UI的“状态”:新消息,回复和转发(忽略任何其他)。

我想拥有一个视图,并且有不同的视图控制器与视图连接。鉴于视图是在Interface Builder中构建的(有很多IBOutlets和IBActions),最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

我建议你所说的并不合理。

相同的视图控制器(即“你的应用程序”本质上)只会在三种需求之间发生变化。

此外 - 三个视图似乎不太可能完全相同,因此制作三个不同的视图/控制器。

(你有很多“相似”的观点是完全正常的 - 这些观点确实只是单独的观点,但它们恰好在图形上相似。)

此外 - 你很可能有一个整体视图(/控制器),只是坐在里面就是特定的写/读/任何视图(/控制器)。

我希望它有所帮助!

答案 1 :(得分:1)

一种方法可能是创建一个包含所有Interface Builder连接的视图控制器,然后多次将该视图控制器子类化。在代码中,您可以使用与-initWithNibName:bundle:相同的笔尖实例化子类。

或者,您的视图控制器可能具有某种“模式”值,该值根据其应该处于的状态来确定其行为。呈现它的视图控制器将负责适当地设置它。