Моя проблема может быть немного особенной, но тем не менее:
Моя иерархия представлений выглядит так (упрощенно):
TableView встроен в UINavigationController.
Теперь я установил свои ограничения следующим образом (с помощью Anchorage):
scrollView.edgeAnchors == edgeAnchors
NavWithTableView.widthAnchor == widthAnchor
NavWithTableView.heightAnchor == heightAnchor - offset
scrollView.edgeAnchors == NavWithTableView.edgeAnchors
Теперь safeAreaInsets создает небольшой пробел, делающий вид первой ячейкинемного больше, чем остальные.Следующая картина показывает проблему.Я пометил разрыв красной рамкой.Первая ячейка отображается зеленым цветом.Как вы можете видеть на левом рисунке, в результате safeAreaInset существует разрыв в 20pt, UIKit добавляет учет в строку состояния.Когда я нажимаю кнопку редактирования, safeAreaInsets исправляет себя, и разрыв исчезает (правое изображение).Каким-то образом UIKit считает, что, поскольку NavWithTableView прикреплен к вершине scrollsView (а scrollView - к вершине superView), он должен дать дополнительный 20pt safeAreaInset, что не соответствует действительности, поскольку NavWithTableView смещается через scrollView.Панель навигации даже учитывает смещение и отображается немного меньше.
Мой вопрос (ы): Что здесь происходит?Это ошибка?Я что-то не так делаю?
Спасибо за помощь!