如何通过一个ViewController显示一个TableView和另一个视图?

How to display a TableView and another view through one ViewController?

提问人:pjohn1203 提问时间:10/27/2023 更新时间:10/29/2023 访问量:35

问:

我目前正在学习如何在 Swift 中进行开发。我希望能够复制下面 Apple Music UI 屏幕截图中显示的功能。

概括地说,我想要一个表格视图来从列表中选择歌曲,同时能够在同一屏幕上控制 AV 设置。

解决这个问题的最佳(简单且可配置)方法是什么?

目前,我同时具有媒体播放器和表视图的功能,并在单独的视图控制器中滚动。我曾考虑过实现拆分视图或尝试使用堆栈视图,但遇到了障碍。

Swift UIVieowControllerSwift UITableView 用户界面

评论

1赞 HangarRash 10/28/2023
您的问题中没有屏幕截图。
0赞 HangarRash 10/28/2023
你遇到了什么障碍?使用有关您尝试过的内容以及您遇到的问题的具体详细信息来更新您的问题。

答:

1赞 Duncan C 10/28/2023 #1

视图控制器可以轻松显示表视图和其他内容。

只需创建 UIViewController 的自定义子类,并让该自定义视图控制器类同时符合 和 协议。然后,您将从这些协议中实现所需的方法来支持表视图。然后,在设置视图控制器(在代码或情节提要中)时,将表视图的委托和数据源出口连接到视图控制器。UITableViewDelegateUITableViewDataSource

另请注意,将(子)视图控制器的内容视图放在另一个(父)视图控制器中非常容易。在Interface Builder中打开父视图控制器,点击窗口标题栏中的“+”以显示组件库,然后搜索“容器视图”。将容器视图拖动到父视图控制器的视图中,并设置要定位视图的约束。然后,右键单击/控制从容器视图拖动到要嵌入到父视图控制器中的子视图控制器,然后选择“嵌入”。这将创建一个“嵌入 segue”,该 segue 执行实例化子视图控制器并将其视图托管在父视图控制器中的所有工作。