【问题标题】:How to re-use multiple .xib as a template to another .xib?如何将多个 .xib 重新用作另一个 .xib 的模板?
【发布时间】:2026-01-30 04:15:02
【问题描述】:

我想重复使用一些 .xib 文件作为我 iOS 应用主要视图的模板。 有人可以告诉我是否有可能在 iOS 中实现“类似模板”的系统,例如:Header、Logo、Footer,并将它们作为单独的 .xib 视图加载以填充另一个占位符.xib? 我该怎么做?

像这样:

在同一个应用程序中,我有一个 Header.xib、Footer.xib,我想将它们包含在我的 MainMenu.xib 中

【问题讨论】:

  • 您是指在一个应用程序中,还是在寻找可以跨应用程序使用的模板?
  • 在同一个应用程序中,我有一个 Header.xib、Footer.xib,我想将它们包含在我的 MainMenu.xib 中

标签: iphone ios xib


【解决方案1】:

您只需在initWithNibNamecall 中使用一个xib 文件即可将其用于多个视图。

然后,即使您有细微的差异,您也可以通过编程方式进行处理。我建议您定义一个常见的 setupMyScreen 方法,该方法将您拥有的 screenType 作为参数,并在 switch 语句中处理所有的小修改。

这种方式很容易维护。

ps,您可能希望提高自己的接受程度 - 否则可能不会真正倾向于为您的问题提供答案...

【讨论】:

  • 如果没有发布好的(和相对的)疑问和回答问题,我就无法接受,这在 iOS 中会更难,因为我是 2 周前开始的。但是,与问题相关,我如何加载多个“部分” .xib 进入主要的占位符?
  • 您无法加载“部分”xib 或组合 xib。 viewController 总是以最大 1 xib 实例化。在您的情况下,似乎最简单的方法是通过共享代码解决它。您可以以编程方式将页眉/页脚放在视图中,然后重用它们。最初它可能看起来更复杂和/或更多工作,但是,一旦你设置了它,它就变得非常实用。 ps 苹果明确规定一个 ViewController 应该控制一个屏幕。但是,您可以创建管理您的页脚和页眉的对象,如前所述...
【解决方案2】:

听起来你想在一个视图中使用多个视图而不是 你必须在第一个模板中使用 UIView 模板。

【讨论】:

  • 我尝试创建一个 UIView 加载带有 UIImageview 的 xib,然后将其添加到 Main .xib 上的 UIView。我只是在这里发布,因为它不起作用。你知道任何教程吗?
  • 如果你把所有视图放在一个 XIB 中,那么当你的应用程序启动时,它必须将整个 XIB 加载到内存中并为所有控件构造所有对象,这需要一个非- 微不足道的时间量。相反,如果您将视图分成单独的 XIB,那么您的应用程序将启动得更快。所以应该也试试这个链接:iphoneapptuts.com/nib-files/how-to-use-multiple-nib-files
  • 我不想使用复杂的视图。只有一个用于背景,另一个用于页眉/页脚,这会导致那么多开销吗?我只是想了解你们如何在 iOS 中管理大型项目。如果我想更改背景图像,我应该更改所有 .xib 吗?那是不可持续的:(