Aqui está um código de amostra (Ref de: Guia de layout de área segura ):
Se você criar suas restrições no código, use a propriedade safeAreaLayoutGuide de UIView para obter as âncoras de layout relevantes. Vamos recriar o exemplo do Interface Builder acima no código para ver como fica:
Supondo que temos a visão verde como uma propriedade em nosso controlador de visão:
private let greenView = UIView()
Podemos ter uma função para configurar as visualizações e restrições chamadas de viewDidLoad:
private func setupView() {
greenView.translatesAutoresizingMaskIntoConstraints = false
greenView.backgroundColor = .green
view.addSubview(greenView)
}
Crie as restrições de margem esquerda e direita como sempre usando o layoutMarginsGuide da visualização raiz:
let margins = view.layoutMarginsGuide
NSLayoutConstraint.activate([
greenView.leadingAnchor.constraint(equalTo: margins.leadingAnchor),
greenView.trailingAnchor.constraint(equalTo: margins.trailingAnchor)
])
Agora, a menos que você esteja visando o iOS 11 e posterior, você precisará envolver as restrições do guia de layout da área segura com #available e voltar aos guias de layout superior e inferior para versões anteriores do iOS:
if #available(iOS 11, *) {
let guide = view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
greenView.topAnchor.constraintEqualToSystemSpacingBelow(guide.topAnchor, multiplier: 1.0),
guide.bottomAnchor.constraintEqualToSystemSpacingBelow(greenView.bottomAnchor, multiplier: 1.0)
])
} else {
let standardSpacing: CGFloat = 8.0
NSLayoutConstraint.activate([
greenView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor, constant: standardSpacing),
bottomLayoutGuide.topAnchor.constraint(equalTo: greenView.bottomAnchor, constant: standardSpacing)
])
}
Resultado:
Aqui está a documentação oficial do desenvolvedor da Apple para o guia de layout de área segura
A área de segurança é necessária para lidar com o design da interface do usuário para iPhone-X. Aqui estão as diretrizes básicas para como projetar a interface do usuário para iPhone-X usando o Layout de área segura