我的程序由带有 5 个标签的标签栏组成。选项卡 1、2 和 3 的用户界面是相同的,唯一的区别在于内容表示的逻辑,例如 new、top ... 我在情节提要中有一个 ViewController 链,我的问题是如何重用我的 ViewController?
1 回答
您想重用视图控制器代码文件 .m 和 .h 还是希望重用具有 UI 的情节提要对象?
重用代码很容易实现。每个故事板对象都可以与一个自定义类相关联。它在身份右侧的对象检查器上。您可以将相同的视图控制器类分配给一个或多个故事板对象 - 允许您重用您的代码。
如果您想重用您在情节提要中创建的视图布局并重用相同的情节提要但具有不同的视图控制器类 - 以管理不同的功能 - 目前是不可能的。
一个潜在的解决方法是通过添加 xib 文件并将用户界面放入其中来定义自定义 UIView。然后创建一个自定义 UIView 子类并分配它。然后在您的故事板中,您可以初始化自定义视图并将其添加为子视图。您将引用自定义类来管理 UI。
除非您的 UI 非常复杂,否则通常更容易在单独的故事板上重新创建 UI 并为它们分配适当的视图控制器。您可以使用 cmd-d 复制情节提要,或者简单地复制和粘贴。您应该在将 UI 对象连接到任何代码之前执行此操作,因为有时复制和粘贴会继承旧的引用。
因此,设置您的标签栏控制器,将单独的导航控制器连接到每个标签,然后将视图控制器(视图或表格视图或页面控制器等)作为根视图连接到每个导航控制器。然后设置您的 UI,然后分配您的自定义子类,然后将 UI 连接到子类中的属性。请记住,您可以跨故事板中的多个视图控制器重用您的子类,因为每个故事板都会创建该子类的新实例。您可能只需要一些额外的逻辑来正确管理每个选项卡功能上的内容。
好吧,没有代码,只是我的 .02 新年快乐。