Saya memiliki pengontrol tampilan induk dengan judul yang sangat panjang. Ini menghasilkan teks tombol kembali berdarah ke judul pengontrol tampilan anak.
Setelah mencoba banyak solusi yang berbeda, inilah yang akhirnya saya lakukan (memperluas pendekatan @ john.k.doe):
Menggunakan Xcode 7.2, Swift 2
- Di Storyboard, tambahkan a
Navigation Item
ke adegan Parent View Controller (bukan VC anak)
- Di bagian
Attributes Inspector
baru Anda Navigation Item
, ketikkan space
karakter di Back Button
bidang. Lebih lanjut tentang ini nanti.
- Di pengontrol tampilan Parent , tambahkan kode berikut:
potongan:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.destinationViewController {
case is ChildViewController:
navigationItem.backBarButtonItem?.title = ""
default:
navigationItem.backBarButtonItem?.title = "Full Parent Title"
}
}
Penjelasan:
Jenis tombol kembali milik pengontrol tampilan induk. The Navigation Item
memberi Anda pegangan untuk tombol kembali, sehingga Anda dapat mengatur judul dalam kode atau dalam Storyboard.
catatan:
Jika Anda meninggalkan Navigation Item
Back Button
teks sebagai string kosong default, judul tombol kembali akan menjadi "Kembali".
Pendekatan lain berhasil, mengapa menggunakan yang ini ?:
Meskipun mungkin untuk mengganti judul tombol kembali pada pengontrol tampilan anak, itu merupakan tantangan untuk mengatasinya sampai judul tersebut telah melintas sebentar di layar.
Beberapa pendekatan membangun tombol kembali baru dan menimpa yang sudah ada. Saya yakin itu berfungsi, dan mungkin perlu dalam beberapa kasus penggunaan. Tapi saya lebih suka memanfaatkan API yang ada bila memungkinkan.
Mengubah title
pengontrol tampilan induk adalah solusi tercepat untuk beberapa situasi. Namun, ini mengubah judul induk sehingga Anda harus mengelola status. Hal-hal juga menjadi berantakan dengan Tab Bar Controller
karena perubahan judul menyebabkan efek samping dengan Tab Bar Item
judul.