Bagaimana Anda menghapus teks tombol kembali.
Tombol kembali saat ini:
<Kembali
Tombol kembali yang diinginkan:
<Apa sajaElse
Tidak ada yang berhasil:
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
ios
objective-c
swift
Onichan
sumber
sumber
title
perubahan judul , bukan hanya tombol kembali.Anda dapat melakukannya dari pembangun antarmuka sebagai berikut:
klik pada item navigasi pengontrol tampilan sebelumnya
dari inspektur atribut atur teks tombol kembali ke apa pun yang Anda inginkan. Itu dia!!
sumber
Teks tombol kembali diambil dari judul item navigasi pengontrol tampilan orang tua. Jadi, apa pun yang Anda atur pada judul item navigasi view-controller sebelumnya, akan ditampilkan pada teks tombol kembali controller tampilan saat ini. Anda hanya dapat menempatkan "" sebagai judul item navigasi dalam metode viewWillAppear kontrol orangtua.
Cara lain adalah dengan meletakkan
dalam metode viewWillAppear view controller saat ini. Yang ini akan menyebabkan beberapa masalah lain jika tumpukan navigasi terlalu bersarang.
sumber
prepareForSegue
, yaitu. sedikit lebih bersih karena Anda tidak mengubah viewController baru setelah dimuat.Anda dapat menempatkan 3 baris kode ini di dalam
ViewController
Anda ingin mengubah judul tombol kembali.Di Anda
override func viewDidLoad() {}
.sumber
Jika Anda menggunakan file xib untuk view controller maka lakukan ini di kelas view controller Anda.
Hasilnya adalah:
sumber
Saya tidak tahu di mana Anda telah menggunakan metode Anda yang Anda masukkan pada pertanyaan Anda, tetapi saya bisa mendapatkan hasil yang diinginkan jika saya gunakan, di
ViewController
kelas saya (di mana saya ingin mengubah tombol kembali), padaviewDidLoad()
fungsi, baris berikut:Hasilnya adalah:
Sebelum
Setelah
sumber
navigationController.navigationBar.topItem?.title = ""
sebaliknya untuk menghindari memasukkan iniviewDidAppear
Tombol kembali milik controller tampilan sebelumnya, bukan yang ditampilkan saat ini di layar. Untuk memodifikasi tombol kembali Anda harus memperbaruinya sebelum mendorong, tambahkan viewdidload:
Swift 4:
sumber
Anda bisa memodifikasi NavigationItem di storyboard
Di Tombol Kembali tambahkan spasi dan tekan Enter.
sumber
Swift 4 - Konfigurasikan tombol kembali sebelum mendorong pengontrol tampilan apa pun
sumber
Ini seharusnya bekerja:
Meskipun tidak disarankan karena ini benar-benar menggantikan tombol Kembali dan juga menghapus panah kembali dan gerakan menggesek.
sumber
Cepat 4.2
Jika Anda ingin mengubah bilah navigasi kembali teks item tombol, letakkan ini di
viewDidLoad
controller SEBELUM satu di mana tombol kembali menunjukkan, BUKAN pada pengontrol tampilan di mana tombol kembali terlihat.Jika Anda ingin mengubah teks judul bilah navigasi saat ini, gunakan kode di bawah ini (perhatikan bahwa ini menjadi teks kembali default untuk tampilan NEXT yang didorong ke pengontrol navigasi, tetapi teks balik default ini dapat diganti dengan kode di atas)
sumber
Ada dua cara.
1.In sebelumnyaViewController.viewDidLoad ()
2.Dalam currentViewController.viewDidAppear ()
Alasan:
backButton
berasal darinavigationBar.backItem.backBarButtonItem
, jadi cara pertama sudah jelas. Di currentViewController.viewDidLoad (), kita tidak bisa mendapatkan referensibackItem
, karena di viewDidAppear (),navigationBar
dorongannavigationView
padastack
.so kita bisa membuat perubahan kebackItem
dalam currentViewController. viewDidAppear ()Untuk detail lebih lanjut, Anda dapat melihat Dokumen: UINavigationBar
sumber
Dalam
viewDidLoad
metode pengontrol yang ada tambahkan:sumber
Meskipun jawaban ini memperbaiki masalah tetapi ini bisa bermanfaat
sumber
Cepat 4
Sementara pepatah sebelumnya untuk mempersiapkan segue benar dan benar tombol kembali milik VC sebelumnya, itu hanya menambahkan banyak kode yang tidak perlu.
Hal terbaik untuk dilakukan adalah mengatur judul VC saat ini di viewDidLoad dan secara otomatis akan mengatur judul tombol kembali dengan benar pada VC berikutnya. Baris ini bekerja untuk saya
sumber
Ini berfungsi untuk Swift 5 :
Harap dicatat ini akan efektif untuk pengontrol tampilan terdorong berikutnya bukan yang sekarang pada tampilan, itu sebabnya sangat membingungkan!
Juga, periksa storyboard dan pilih item navigasi dari pengontrol tampilan sebelumnya kemudian ketik sesuatu di Tombol Kembali (Inspektur).
sumber
Coba ini ... ini akan berhasil ....
Kode di atas akan menyembunyikan teks dan hanya menampilkan panah kembali pada bilah navigasi.
sumber
Atur
self.title = ""
sebelumnyaself.navigationController?.pushViewController(vc, animated: true)
.sumber
Semoga ini bisa membantu !! #wift 3
sumber
Jika Anda mendorong pengontrol tampilan dari halaman pengontrol tampilan halaman, Anda tidak dapat memperbarui judul tombol kembali pengontrol navigasi. Untuk mengatasi ini, buat delegasi kembali ke controller tampilan induk Anda (Anda mungkin juga dapat melintasi hierarki tampilan controller kembali ke induknya).
Selanjutnya, tombol Kembali memiliki batas karakter. Jika Anda melebihi batas karakter, sistem akan secara default menjadi "Kembali". Itu tidak akan terpotong untuk Anda. Sebagai contoh:
sumber
Cepat 4
Dalam kasus saya, solusinya adalah menghapus item navigasi Master View Controller sebelum pindah ke Child View Controller. Dan atur kembali jika ditampilkan lagi
MasterController
Dan ini adalah bagaimana saya menekan UIViewController dan menghapus item tombol bilah belakang di pengontrol anak:
MasterController
sumber
untuk Swift 4.2
sumber
GOTCHA: Jika Anda mengalami masalah dengan salah satu dari banyak saran yang banyak berkilau bintang ini, pastikan Anda mendaftar
UITableViewCell
masukviewDidLoad()
, bukan dariinit()
sumber
Solusi diperiksa dan bekerja di Swift 5
Di bawah ini saya berikan beberapa solusi untuk kasus yang berbeda:
1. Hapus teks dari tombol kembali
Solusi terbaik untuk menghapus teks dari tombol kembali adalah dengan menambahkan viewDidLoad ():
2. Atur teks sendiri di tombol kembali
Jika Anda ingin mengatur judul Anda sendiri, lakukan dengan menetapkan judul backButton:
3. Tombol kembali kosong pada semua VC
Jika Anda ingin membuat gaya umum di seluruh aplikasi - agar hanya panah kembali tanpa teks, buat VC dasar untuk semua Pengontrol Tampilan Anda:
Solusi yang disajikan di atas memungkinkan Anda menyesuaikan tombol kembali di masa mendatang jika Anda ingin membuat pengecualian nanti, dengan menambahkan variabel tambahan dan menimpanya di ViewController tertentu, f.ex:
sumber
cepat 4
ada satu cara untuk mengubah teks di backButton secara terprogram dari viewController saat ini:
sumber