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