Верхняя часть серого UIView должна быть ограничена нижней частью верхней направляющей макета, но это, очевидно, не.
Серый вид — это не что иное, как вид контейнера, как видно из построителя интерфейса ниже. Я должен был правильно добавить дочернее представление; однако, childView.translatesAutoresizingMaskIntoConstraints = false приводит к тому, что дочернее представление не отображается вообще. Могло ли это быть причиной?
// childView.translatesAutoresizingMaskIntoConstraints = false
addChildViewController(dayExpenseVC)
dayExpenseVC.view.frame = childView.frame
childView.addSubview(dayExpenseVC.view)
dayExpenseVC.didMove(toParentViewController: self)
Это была проблема frame vs bounds.
Я решил это, сделав это:
Кадр childView был смещен от своего родительского представления, и присвоение этого кадру dayExpenseVC также смещает его на ту же величину от своего родительского представления, которое является дочерним представлением.