Я пытаюсь создать свой UITableView как:
var myTableView: UITableView {
let tableView = UITableView()
tableView.translatesAutoresizingMaskIntoConstraints = false
tableView.backgroundColor = .brown
tableView.delegate = self
tableView.dataSource = self
return tableView
}
и позже внутри viewDidLoad
, чтобы добавить к нему визуальные ограничения, как:
view.addSubview(myTableView)
var c = [NSLayoutConstraint]()
c += NSLayoutConstraint.constraints(withVisualFormat: "H:|-[v0]-|", options: .alignAllCenterX, metrics: nil, views: ["v0": myTableView])
NSLayoutConstraint.activate(c)
, но я получаюошибка во время выполнения:
Unable to parse constraint format:
Unable to interpret '|' character, because the related view doesn't have a superview
H:|-[v0]-|
Я не понимаю, почему это происходит, потому что я добавляю ограничения после addSubview
, поэтому он должен найти суперпредставление, но не может.Может кто-нибудь объяснить мне проблему, пожалуйста?