Несоответствие верхней направляющей макета

Верхняя часть серого UIView должна быть ограничена нижней частью верхней направляющей макета, но это, очевидно, не.

Введите описание изображения здесь

Серый вид — это не что иное, как вид контейнера, как видно из построителя интерфейса ниже. Я должен был правильно добавить дочернее представление; однако, childView.translatesAutoresizingMaskIntoConstraints = false приводит к тому, что дочернее представление не отображается вообще. Могло ли это быть причиной?

//        childView.translatesAutoresizingMaskIntoConstraints = false
    addChildViewController(dayExpenseVC)
    dayExpenseVC.view.frame = childView.frame

    childView.addSubview(dayExpenseVC.view)
    dayExpenseVC.didMove(toParentViewController: self)

Введите описание изображения здесь

1 ответ

  1. Это была проблема frame vs bounds.

    Я решил это, сделав это:

    dayExpenseVC.view.frame = childView.bounds
    

    Кадр childView был смещен от своего родительского представления, и присвоение этого кадру dayExpenseVC также смещает его на ту же величину от своего родительского представления, которое является дочерним представлением.