ios - 将 TableView 作为子视图控制器嵌入到容器视图中时为空
问题描述
我有一个 TableViewController 作为容器视图的子视图控制器。出于某种原因,表格视图控制器不显示它的任何行。它显示其背景颜色,但没有信息。这是自然的吗?这是代码:
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(topBar)
topBar.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
topBar.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
topBar.heightAnchor.constraint(equalToConstant: 80).isActive = true
topBar.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
view.addSubview(containerView)
containerView.topAnchor.constraint(equalTo: topBar.bottomAnchor).isActive = true
containerView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
containerView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
containerView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
topBar.addSubview(subjects)
subjects.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
subjects.topAnchor.constraint(equalTo: view.topAnchor, constant: 30).isActive = true
topBar.addSubview(backButton)
backButton.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 20).isActive = true
backButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 30).isActive = true
let subjectsView = SubjectsTableViewController().view!
subjectsView.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(subjectsView)
subjectsView.topAnchor.constraint(equalTo: containerView.topAnchor).isActive = true
subjectsView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor).isActive = true
subjectsView.leftAnchor.constraint(equalTo: containerView.leftAnchor).isActive = true
subjectsView.rightAnchor.constraint(equalTo: containerView.rightAnchor).isActive = true
}
解决方案
您添加SubjectsTableViewController.view
为子视图。这还不够。您还应该添加SubjectsTableViewController
视图控制器的子项。否则,没有指向SubjectsTableViewController
导致它的指针deinit
。
let child = SubjectsTableViewController()
addChildViewController(child)
stackView.addArrangedSubview(child.view)
child.didMove(toParentViewController: self)
推荐阅读
- android - 我们如何将 Android/iOS 应用程序连接到 Azure IoT Central 并发送遥测数据?
- mysql - 由于版本原因,mysql查询不起作用
- wpf - 使用 WPF Prism / Mahapps HamburgerMenu 控件时调用参数化视图模型构造函数
- cmake - 使用 Cmake 进行 Qt5 私有标头检测在 Fedora 上无法正常工作?
- django - 从用户模型中获取电子邮件
- mp3 - “MP3 文件格式无效。零持续时间。Seek 无法正常运行:”使用 HLS 流式传输大型 mp3 文件时出错
- android - 如何获得任何 android 应用程序的原色?
- nunit - NUnit中有顺序或优先级的概念吗?
- websocket - ATMEL SAM4E 的 lws 客户端
- github - 在 Github 自述文件中水平居中 .gif