如何在情节提要中创建一个单独的视图以编程方式包含在 UITableView 中?

How to create a separate view in Storyboard to be included programmatically in UITableView?

我有一个 UIViewController 和一个 UITableView,它从本地数据库中获取数据。当用户首次启动应用程序(安装后)时,table 视图是空的,我在 table 视图中间显示一个 UIView,其中包含一个 UIImage,一个UILabelUIButton(号召性用语)。

这个视图的第一个版本是我以编程方式构建的,这对我来说并不好,因为每次我调整某些东西时我都必须重新构建应用程序。然后我切换到故事板,但不得不将 UIView 拖到 tableView 的中间。它现在正在工作,但我不喜欢它的方式,我无法在不将 UIView 移出 table 视图的情况下编辑我的 table 视图单元格。

我想有一种方法来构建这个视图,完全与我的 tableView 分开(或者甚至与我有问题的视图控制器分开),然后在 viewDidLoad 的调用中引用它我的视图控制器。

不幸的是 Xcode 不允许我们将视图直接拖到情节提要中,所以我在这里很迷路。

如果我还不够清楚,请告诉我。我很感激你能给我的任何帮助。

UPDATE:如果我也可以为我的这个视图创建自定义 Swift class 并引用它,那对我来说特别棒在情节提要中。然后在我的 viewDidLoad 中,我可以简单地实例化我的自定义视图。

提前致谢。

创建一个 XIB 文件,您可以在其中拖动视图(没有视图控制器)。

在您的代码中,您可以使用 NSBundle.mainBundle().loadNibNamed("MyXibName", owner:self, options:nil) 加载 XIB。

在 XIB 文件中,您可以给 UIView 自定义 class(就像您可以在故事板中使用视图控制器一样)。

然后您当然必须从 loadNibNamed 返回的数组中检索视图并将其转换为您的自定义 class。