Как обновить ограничения ячеек таблицы в Swift - PullRequest
0 голосов
/ 09 апреля 2020

Ограничения верны, когда они находятся в вертикальном положении (портрет), но когда телефон находится в горизонтальном положении (ландшафт), некоторые из них обновляются, а некоторые нет.

Это на фотографиях ясно

портрет enter image description here

пейзаж enter image description here

это мой код:

override func willAnimateRotation(to toInterfaceOrientation:      UIInterfaceOrientation, duration: TimeInterval)
{
    DispatchQueue.main.async {
        self.Table_View.reloadData()
        self.Table_View.setNeedsLayout()
        self.Table_View.layoutIfNeeded()
    }

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
    let Cell = tableView.dequeueReusableCell(withIdentifier: "sdr", for: indexPath) as! HistoryPagesCell
    let bgColorView = UIView()
    bgColorView.backgroundColor = UIColor.clear
    Cell.selectedBackgroundView = bgColorView
    Cell.PageCleanurl.text = HistoryArray[indexPath.row].title
    Cell.PageLasturl.text = HistoryArray[indexPath.row].lasturl
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "HH-mm"
    let date = dateFormatter.string(from: HistoryArray[indexPath.row].date!)
    let str = date
    let replaced = str.replacingOccurrences(of: "-", with: ":")
    Cell.Date.text = replaced
    Cell.ViewMain.translatesAutoresizingMaskIntoConstraints = false
    Cell.ViewMain.centerXAnchor.constraint(equalTo: Cell.contentView.centerXAnchor).isActive = true
    Cell.ViewMain.centerYAnchor.constraint(equalTo: Cell.contentView.centerYAnchor).isActive = true
    Cell.ViewMain.heightAnchor.constraint(equalToConstant: 43).isActive = true
    Cell.ViewMain.widthAnchor.constraint(equalToConstant: view.frame.size.width - 10).isActive = true
    Cell.Date.translatesAutoresizingMaskIntoConstraints = false
    Cell.Date.centerYAnchor.constraint(equalTo: Cell.ViewMain.centerYAnchor).isActive = true
    Cell.Date.rightAnchor.constraint(equalTo: Cell.ViewMain.rightAnchor, constant: -14).isActive = true
    return Cell
}
...