子类化UIViewController类

时间:2011-07-12 17:58:53

标签: iphone objective-c ios uiviewcontroller

我的应用有一个UITabBar。大多数标签具有相似的功能,但它们在重要方面有所不同 为了避免代码重复,我想创建一个处理类似功能的类(BaseViewController),并使用它的子类(FirstViewControllerSecond等)来控制唯一函数。

这样做的最佳方式是什么?
我设想的一个问题是,如果我创建xib和视图控制器,如何将xib中的元素连接到基本视图控制器?

                   > FirstTabViewController
BaseViewController > SecondTabViewController
                   > ThirdTabViewController

4 个答案:

答案 0 :(得分:4)

如果BaseViewController具有IBOutlet属性,则它们在Interface Builder中的继承类中的行为将相同。您需要做的就是拖延连接。

答案 1 :(得分:2)

FirstTabViewController,SecondTabViewController,et al。将继承BaseViewController的出口和动作,因此您将UI元素连接到子类,就像对基类一样。

答案 2 :(得分:2)

您还可以让您的基类以编程方式为您创建。例如。导航栏按钮/背景图像。

答案 3 :(得分:1)

基本上你需要创建一个UIViewController子类,它是你的基础。我们称之为MyBaseVC。

接下来,您将继续创建其他三个视图控制器类(MyVC1,MyVC2,MyVC3),就像您第一个一样。在他们的头文件替换,UIViewController与MyBaseVC。这些将成为MyBaseVC的子类。

然后在Interface Builder文件的身份检查器中,您将所创建的任何View Controller的自定义类设置为MyVC1,MyVC2,MyVC3