Что такое safe area и layout margins?
Safe area
Safe area — часть view, не перекрытая системным UI: статус-бар, Dynamic Island, home indicator, навигационный бар, таб-бар, а также клавиатура на iPad и «уши» на внешних дисплеях. Контент, который должен быть виден и нажимаем, привязывают к view.safeAreaLayoutGuide; фон, картинки и скроллируемое содержимое — к краям view, чтобы они уходили под бары.
- Значение приходит от окна и контроллера:
safeAreaInsetsу view,additionalSafeAreaInsetsу контроллера — чтобы расширить safe area под собственную панель (например, кастомный плеер снизу). safeAreaInsetsDidChange()вызывается при изменении (поворот, появление бара).keyboardLayoutGuide(iOS 15) — отдельный guide, который следует за клавиатурой; заменяет ручныеkeyboardWillShow-уведомления.- В SwiftUI аналог —
.safeAreaInset(edge:)и.ignoresSafeArea().
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep