【发布时间】:2021-03-18 21:25:31
【问题描述】:
我正在尝试将表格视图添加到我的滚动视图中:
class ViewController: UIViewController {
let tableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
let scrollView = UIScrollView()
scrollView.backgroundColor = .red
view.addSubview(scrollView)
scrollView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
scrollView.addSubview(tableView)
tableView.backgroundColor = .yellow
tableView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
tableView.topAnchor.constraint(equalTo: scrollView.topAnchor),
tableView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),
tableView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
tableView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor)
])
scrollView.contentSize = CGSize(width: view.bounds.width, height: 2000)
}
}
但是它没有显示。它只显示滚动视图背景颜色。我在这里做错了什么?
【问题讨论】:
-
UITableView 继承自 UIScrollView。您在 ScrollView 中添加 ScrollView。这是意料之中的。为什么要在 ScrollView 中添加 TableView?
-
滚动视图不是问题。如果我把它改成 UIView 还是不行
-
根据您的代码,没有理由做您正在做的事情(除非您只是好奇结果如何)。您可以将表格视图添加到滚动视图,但您已将表格视图完全叠加在滚动视图上,这使得滚动视图无用。如果您要以编程方式进行此操作,则应该在
loadView中添加子视图,而不是viewDidLoad。
标签: ios swift uiscrollview