Разве это не доказательство из Документации Apple ?
Контроллеры представления контейнера UIKit уже настраивают безопасную область своих дочерних контроллеров представления для учета представлений содержимого.Например, навигационные контроллеры расширяют безопасную область своих дочерних контроллеров представления, чтобы учитывать панель навигации.
Кстати, это не распространение .Это более умная вещь, которая имеет большой смысл.Если вы установите для своей ContainerViewController
ее безопасной области значение 80 points
снизу, а ChildViewController
перекрывает X
точек области, UIKit
автоматически установит безопасную область для этого дочернего контроллера представления на X
баллов, так что ни одно подпредставление не может выйти из вашей безопасной зоны.
Например, если вы установите childVC
такие ограничения
NSLayoutConstraint.activate([
childVC.view.heightAnchor.constraint(equalToConstant: childVCHeight),
childVC.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
childVC.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
// move childVC 30 points to the top
childVC.view.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -30)
])
В журнале вы увидите, ChildViewController
высота безопасной области равна 50. Это как раз высота перекрытия.