2010-11-22 211 views
0

想象一个基于iPhone的电子邮件客户端。您有三个具有相同用户界面的“状态”:新消息,回复和转发(忽略其他任何人)。用于iPhone上单个视图的多个视图控制器

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

+2

不要这样做,它不受支持。一个视图控制器始终负责一个视图层次结构。 – 2010-11-22 03:41:08

+0

@Jason在不同的视图控制器中重复使用视图是没有问题的,这就是让视图控制器摆在首位的全部重点。 – kubi 2010-11-22 03:59:46

+0

你是如何创建这些新的视图控制器?你能通过感兴趣的观点吗?即[viewController setStateView:currentStateView]; – joshpaul 2010-11-22 04:45:01

回答

2

我建议你说的没有意义。

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

此外,三个视图看起来不太可能完全相同,因此可以创建三个不同的视图/控制器。

(这是完全正常的,你有很多“相似”的观点 - 这确实是刚刚独立的观点,但他们碰巧是图形相似。)

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

我希望它有帮助!

1

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

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

相关问题