首页 > 解决方案 > 以编程方式创建 UITableView() 与 loadView 位置和大小不明确

问题描述

我想将我的视图设置为 UITableView 而不添加到主视图,也就是说我不想调用self.view.addSubview(tableView)

但是,我的 loadView() 似乎没有工作 - tableView 的位置和大小不明确......

override func loadView() {
    super.loadView()

    let tv = UITableView(frame: self.view.frame)
    tv.backgroundColor = Constants.Colors.translucentLightGrey
    tv.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
    tv.dataSource = self
    tv.delegate = self
    tv.backgroundColor = .red
    view = tv
    tableView = tv
    tableView.translatesAutoresizingMaskIntoConstraints = false
    tableView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 0).isActive = true
    tableView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -0).isActive = true
    tableView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
    tableView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
}

如何将 tableview 设置为视图?

标签: swift

解决方案


推荐阅读