我可以从实现文件创建 .xib 吗?

Posted

技术标签:

【中文标题】我可以从实现文件创建 .xib 吗?【英文标题】:can I create a .xib from an implementation file? 【发布时间】:2013-09-06 21:43:34 【问题描述】:

我有一个项目,其中包含标头和实现文件,并从 .m 加载一个普通的旧 UITableViewController,但我无法配置视图(我想在视图上做广告按钮和文本字段之类的东西而不是只有一个表),我应该创建一个 .xib 文件以便我可以修改视图吗? (我不只是开始一个新项目的原因是当前项目还有很多其他的东西,比如在 AppDelegate 阶段启动以将用户登录到系统的 OAUTH 进程——我需要这个功能)。所以我的问题是如何从现有的 .m .h 文件创建一个 .xib ,然后添加其他我可以编码的对象。

【问题讨论】:

【参考方案1】:

this similar question的回答:

“这里有一个更一步一步的方法来关联你的新 UIViewController 和 .xib。

在 IB 左侧窗格的占位符下选择文件的所有者。在 Property Inspector(IB 的右窗格)中,选择第三个选项卡并编辑“Custom Class”下的“Class”作为新 UIViewController 子类的名称。

然后在左窗格中按住 ctrl 单击或右键单击 File's Owner,然后在左窗格的 Objects 部分中的顶层视图中画一条线。选择“查看”插座,您就完成了。

您现在应该能够设置其他出口和操作。您已准备好在代码中实例化您的视图控制器并使用 initWithNibName 和您的 nib 名称来加载它。”

【讨论】:

非常感谢,确切地说,您是否先创建一个 .xib(我们称之为“StartVC”,然后在“项目导航器”窗格 (PN) 中选择该 StartVC.xib,然后按照您的上面两步?【参考方案2】:

如果它是 UITableViewController,只需通过 Xcode 创建一个新的 XIB 文件(文件 -> 新建 -> ios -> 用户界面 -> 视图),然后将文件的所有者添加到您的子类 UITableViewController。

您可能希望重新设计用户界面的外观——将诸如表格视图和按钮之类的对象或其他任何东西——放到 XIB 的视图中。与尝试以编程方式创建和添加子视图和操作相比,它肯定会节省大量时间。

一旦到位,您就可以随心所欲地制作 IBOutlets 和 IBActions。

【讨论】:

以上是关于我可以从实现文件创建 .xib 吗?的主要内容,如果未能解决你的问题,请参考以下文章

我正在使用 xcode 9。如何在里面创建带有 xib 文件的框架?

我需要向每个 xib 添加本地化文件吗?

iOS:从 UIView 创建 XIB

我可以将非 xib 应用程序转换为使用 xibs 吗?

旋转Xcode时不同的xib文件

尝试以编程方式从一个 XIB 文件创建多个视图