Örnek kod (Referans: Güvenli Alan Yerleşimi Kılavuzu ):
Kodda kısıtlamalarınızı oluşturursanız, ilgili düzen bağlantılarını almak için UIView'ın safeAreaLayoutGuide özelliğini kullanın. Nasıl göründüğünü görmek için yukarıdaki Interface Builder örneğini kodda yeniden oluşturalım:
Görünüm denetleyicimizde bir özellik olarak yeşil görünüme sahip olduğumuzu varsayarsak:
private let greenView = UIView()
ViewDidLoad'dan çağrılan görünümleri ve kısıtlamaları ayarlamak için bir fonksiyonumuz olabilir:
private func setupView() {
greenView.translatesAutoresizingMaskIntoConstraints = false
greenView.backgroundColor = .green
view.addSubview(greenView)
}
Baştaki ve sondaki kenar boşluğu sınırlamalarını her zaman olduğu gibi kök görünümün layoutMarginsGuide kullanarak oluşturun:
let margins = view.layoutMarginsGuide
NSLayoutConstraint.activate([
greenView.leadingAnchor.constraint(equalTo: margins.leadingAnchor),
greenView.trailingAnchor.constraint(equalTo: margins.trailingAnchor)
])
Şimdi, iOS 11 ve sonraki sürümleri hedeflemiyorsanız, güvenli alan yerleşim kılavuzu kısıtlamalarını #available ile sarmalamanız ve önceki iOS sürümleri için üst ve alt düzen kılavuzlarına geri dönmeniz gerekecektir:
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)
])
}
Sonuç:
Güvenli Alan Yerleşimi Kılavuzu
için Apple Geliştirici Resmi Belgeleri burada.
İPhone-X için kullanıcı arayüzü tasarımını işlemek için Güvenli Alan gereklidir. Güvenli Alan Yerleşimi kullanılarak iPhone-X için kullanıcı arabiriminin nasıl tasarlanacağına ilişkin temel yönergeyi burada bulabilirsiniz.