Хочу чтобы открывался экран и он был высотой в пол экрана.
Уменьшаю высоту главного View, добавляю Tableview и в нем устанавливаю header. Этот ViewController имеет модульное представление, вызываю из другого ViewController при нажатии на кнопку.
Когда открывается этот экран почему-то header на самом верху и ячейки tableview не отрисованы, он как будто вообще в функции, касающиеся tbleview не заходит.
Подскажите пожалуйста, в чем ошибка? Почему не уменьшается высота главного View?
class SecondViewController: UIViewController {
let tableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .tableViewColor
self.view = UIView(frame: CGRect(x: 0, y: 500, width: self.view.frame.width, height: 400))
self.view.backgroundColor = .tableViewColor
self.view.layer.cornerRadius = 10
setupTableView() //
headerCreate()
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 1))
extension DateEditViewController {
func setupTableView() {
view.addSubview(tableView)
tableView.translatesAutoresizingMaskIntoConstraints = false
tableView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
tableView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
tableView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
}
}
extension DateEditViewController {
func headerCreate() {
let label = UILabel(frame: CGRect.zero)
label.translatesAutoresizingMaskIntoConstraints = false
label.text = “Выбрать период”
let subview = UIView()
subview.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 40)
subview.addSubview(label)
label.leadingAnchor.constraint(equalTo: subview.leadingAnchor, constant: 120).isActive = true
label.topAnchor.constraint(equalTo: subview.topAnchor, constant: 12).isActive = true
label.backgroundColor = .clear
label.textColor = UIColor.headerTextColor
label.font = UIFont.systemFont(ofSize: 17)
label.numberOfLines = 1
label.textAlignment = .center
tableView.tableHeaderView = subview
}
}
Большое спасибо!