如何在情节提要中创建一个单独的视图以编程方式包含在 UITableView 中?
How to create a separate view in Storyboard to be included programmatically in UITableView?
我有一个 UIViewController
和一个 UITableView
,它从本地数据库中获取数据。当用户首次启动应用程序(安装后)时,table 视图是空的,我在 table 视图中间显示一个 UIView
,其中包含一个 UIImage
,一个UILabel
和 UIButton
(号召性用语)。
这个视图的第一个版本是我以编程方式构建的,这对我来说并不好,因为每次我调整某些东西时我都必须重新构建应用程序。然后我切换到故事板,但不得不将 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。
我有一个 UIViewController
和一个 UITableView
,它从本地数据库中获取数据。当用户首次启动应用程序(安装后)时,table 视图是空的,我在 table 视图中间显示一个 UIView
,其中包含一个 UIImage
,一个UILabel
和 UIButton
(号召性用语)。
这个视图的第一个版本是我以编程方式构建的,这对我来说并不好,因为每次我调整某些东西时我都必须重新构建应用程序。然后我切换到故事板,但不得不将 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。