似乎无法向UITableView
我想将" Align Top添加到:Safe Area"约束到表视图,因为如您所见,单元格似乎不在安全区域内:
如何约束表格视图以保持在安全区域的范围内?
答案 0 :(得分:3)
似乎您使用UITableViewController。通过这种方式,您无法更改tableView的默认约束。您只能做一件事就是添加一个导航控制器。 (单击您的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
}
}
最后,你会得到类似于下面截图的内容。
P.S。别忘了在原型单元格中添加标识符。在我的例子中,标识符是" id"
这是所有Xcode项目的屏幕截图。
答案 1 :(得分:1)
我的解决方案是将UITableViewController
更改为UIViewController
,并向视图添加UITableView,然后添加顶部,底部,左侧和右侧约束。
请注意,在您将类更改为继承自UIViewController
而不是UITableViewController
@interface MyViewController : UITableViewController
到
@interface MyViewController : UIViewController
你显然还需要重新链接UITableView,并连接数据源和委托,如果你没有以编程方式进行