Swift3,如何在不同的 viewController 中使用相同的 UITableView
Posted
技术标签:
【中文标题】Swift3,如何在不同的 viewController 中使用相同的 UITableView【英文标题】:Swift3, How to use same UITableView in different viewController 【发布时间】:2017-07-26 03:45:06 【问题描述】:在我的项目中,我的表格包括 xViewController 类中已有的许多单元原型、插座和约束。 我想知道如果我想在 yViewController 类中再次使用这个表。
有可能还是我必须创建一个新的?
【问题讨论】:
【参考方案1】:您也可以使用ContainerView
。您可以根据您的要求单独使用UITableViewController
或UIViewController
。我们将这个类称为CommonTableViewController
。
在您的 XViewController
中,删除 tableview 并将所有代码移动到 CommonTableViewController
。从XViewController
的对象库中拖放容器视图。您可以删除 ContainerView 的预定义子项。现在在XViewController
和CommonTableViewController
之间添加embed
segue。
在YViewController
上拖放容器视图并添加如上所述的segue。
如果您还有任何疑问,请告诉我。
【讨论】:
【参考方案2】:将您的表视图控制器重构为它自己的专用故事板(在 Interface Builder 中:选择表视图控制器,然后在菜单栏上选择:Editor > Refactor to Storyboard...)。
确保您的表格视图控制器是“初始视图控制器”(在故事板上有一个从左侧指向它的箭头)。
现在,在您希望在其上显示表视图的每个视图控制器的主视图上,插入一个容器视图并将嵌入 segue 的目标替换为表视图的 Storyboard Reference您刚刚创建的 stotyboard。
【讨论】:
以上是关于Swift3,如何在不同的 viewController 中使用相同的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
如何将计时器中的数据传递给新的 ViewController (Swift 3)
Swift 3 UIStatusBarStyle 不适用于 UINavigationController 中的单独 ViewController
Swift 3 - 在启动时加载多个 ViewController
以编程方式呈现新的 ViewController [Swift 3]