Swift 以编程方式向UIViewController和UITableViewController添加对象有何不同';s原型电池?

Swift 以编程方式向UIViewController和UITableViewController添加对象有何不同';s原型电池?,swift,uitableview,programmatically-created,Swift,Uitableview,Programmatically Created,我看到他们通过故事板将标签等添加到UITableViewController原型部分的视频。这是否与我只是将这些对象添加到常规的UIViewController相同 我确实试过了,但遇到了约束问题。如果我从UIViewController复制并粘贴NSLayoutConstraint,我将开始接收错误。所以我假设约束的处理方式也不同。例如,不使用view.CenterX,而是使用contentView.CenterX对吗 编辑:我忘了提到我不确定代码应该放在哪里。它似乎应该进入UITableVi

我看到他们通过故事板将标签等添加到
UITableViewController
原型部分的视频。这是否与我只是将这些对象添加到常规的
UIViewController
相同

我确实试过了,但遇到了约束问题。如果我从
UIViewController
复制并粘贴
NSLayoutConstraint
,我将开始接收错误。所以我假设约束的处理方式也不同。例如,不使用
view.CenterX
,而是使用
contentView.CenterX
对吗


编辑:我忘了提到我不确定代码应该放在哪里。它似乎应该进入
UITableViewController
,因为原型单元格就在那里,但在示例代码中,我看到它被添加到
UITableViewCell
通常您要做的是:

  • 将视图和其他UI组件放置到UIViewController的根视图(即UIView)中

  • 将原型静态单元格放入UITableViewController的根视图(即表视图)

第一种情况在布局方面是完全灵活的。您有责任定位和调整视图大小,以创建有意义的布局

第二种情况更受约束,因为TableViewsimple将所有原型单元格(其本身包含其他子视图)排序到垂直堆栈中。


只有你们才能在特定的项目/应用程序的上下文中知道什么更适合你们的需要

通常您要做的是:

  • 将视图和其他UI组件放置到UIViewController的根视图(即UIView)中

  • 将原型静态单元格放入UITableViewController的根视图(即表视图)

第一种情况在布局方面是完全灵活的。您有责任定位和调整视图大小,以创建有意义的布局

第二种情况更受约束,因为TableViewsimple将所有原型单元格(其本身包含其他子视图)排序到垂直堆栈中。


只有你们才能在特定的项目/应用程序的上下文中知道什么更适合你们的需要

UIViewController
UITableViewController
的视图类型都不同,后者将
UITableView
作为其
view
属性。因此,如果您的视图是类似列表的行,并且您认为所有内容都将在行中重复,请使用
UITableViewController
并将对象添加到单元格中。否则,请使用
UIViewController
并建立视图。此外,当您从
视图
复制对象时,该对象具有与此
视图
相关的约束,然后将其粘贴到另一个
视图
,您必须再次添加约束(不是宽度-高度约束,而是顶部、底部、左侧、右侧等)由于父视图已更改。
UIViewController
UITableViewController
的视图类型不同,后者的
UITableView
属性为
UITableView
。因此,如果您的视图是类似列表的行,并且您认为所有内容都将在行中重复,请使用
UITableViewController
并将对象添加到单元格中。否则,请使用
UIViewController
并建立视图。此外,当您从
视图
复制对象时,该对象具有与此
视图
相关的约束,然后将其粘贴到另一个
视图
,您必须再次添加约束(不是宽度-高度约束,而是顶部、底部、左侧、右侧等)因为父视图已更改。而这些静态单元格有点像UIViewController?就像在子视图中添加对象一样,这些静态单元格有点像UIViewController?如中所示,是否将对象添加到其子视图?