OGeek|极客世界-中国程序员成长平台

标题: ios - 无法将 UITableView 约束到安全区域 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:45
标题: ios - 无法将 UITableView 约束到安全区域

似乎无法将约束添加到 UITableView

我想在表格 View 中添加“对齐顶部到:安全区域”约束,因为如您所见,单元格似乎不在安全区域内:

如何将表格 View 限制在安全区域的范围内?



Best Answer-推荐答案


似乎您使用的是 UITableViewController。这样您就无法更改 tableView 的默认约束。您只能做一件事就是添加一个导航 Controller 。 (点击你的 UITableViewController 而不是显示的顶部:Editor->Embed In-> Navigation Controller)

另一种方法是将 UITableView 添加到 UIViewController。在这种情况下,您可以添加任何您想要的约束。

查看下面的代码。这可以帮助您确定下一步应该做什么。

import UIKit

class ViewController: UIViewController,UITableViewDataSource, UITableViewDelegate {

    var data: [String] = ["Cell 1", "Cell 2", "Cell"]
    var colors: [UIColor] = [.red, .green, .blue]

    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.delegate = self
        tableView.dataSource = self
        tableView.reloadData()
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "id", for: indexPath)
        cell.textLabel?.text = data[indexPath.row]
        cell.contentView.backgroundColor = colors[indexPath.row]

        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

}

最后你会得到类似下面截图的东西。

附:不要忘记在原型(prototype)单元格中添加标识符。在我的示例中,标识符是“id”

TableView

这是所有 Xcode 项目的截图。

Xcode project

关于ios - 无法将 UITableView 约束到安全区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46799522/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4