Berikut ini contoh kode (Ref dari: Panduan Tata Letak Area Aman ):
Jika Anda membuat batasan dalam kode, gunakan properti safeAreaLayoutGuide UIView untuk mendapatkan jangkar tata letak yang relevan. Mari buat ulang contoh Interface Builder di atas dalam kode untuk melihat tampilannya:
Dengan asumsi kita memiliki tampilan hijau sebagai properti di pengontrol tampilan kita:
private let greenView = UIView()
Kita mungkin memiliki fungsi untuk menyiapkan tampilan dan batasan yang dipanggil dari viewDidLoad:
private func setupView() {
greenView.translatesAutoresizingMaskIntoConstraints = false
greenView.backgroundColor = .green
view.addSubview(greenView)
}
Buat batasan margin depan dan belakang seperti biasa menggunakan layoutMarginsGuide dari tampilan root:
let margins = view.layoutMarginsGuide
NSLayoutConstraint.activate([
greenView.leadingAnchor.constraint(equalTo: margins.leadingAnchor),
greenView.trailingAnchor.constraint(equalTo: margins.trailingAnchor)
])
Sekarang, kecuali Anda menargetkan iOS 11 dan yang lebih baru, Anda harus membungkus batasan panduan tata letak area aman dengan #available dan kembali ke panduan tata letak atas dan bawah untuk versi iOS sebelumnya:
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)
])
}
Hasil:
Berikut adalah Dokumentasi Resmi Pengembang Apple untuk Panduan Tata Letak Area Aman
Area Aman diperlukan untuk menangani desain antarmuka pengguna untuk iPhone-X. Berikut adalah pedoman dasar untuk Bagaimana merancang antarmuka pengguna untuk iPhone-X menggunakan Tata Letak Area Aman