Saya menyeret Round Rect Button ke posisi kanan Bar Button Item, dan mengatur gambar ke Round Rect Button. Semua berfungsi dengan baik, kecuali peringatan "Gaya Biasa tidak didukung dalam Item Navigasi". Bahkan jika saya memilih gaya Item Tombol Bar ke "Berbatasan", peringatan masih ada. Ada apa dengan Xcode 4.2? Terima kasih sebelumnya!
Ps. Saya menyesuaikan banyak Item Tombol Bar dengan Tombol Persegi Bulat, beberapa kali Xcode 4.2 hanya menampilkan satu peringatan pada Item Tombol Bar, beberapa kali menampilkan peringatan pada semua Item Tombol Bar.
Jawaban:
Saya dapat menghapus kesalahan ini dengan mengedit file storyboard secara manual dan menemukan entri style = "plain" yang menyinggung pada item Tombol Bar di
<navigationItem>
elemen.Berubah dari:
<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">
Untuk:
<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">
Ini menghapus peringatan ... benar atau salah.
Ini mungkin peretasan yang luar biasa dan kekhawatiran yang lebih besar adalah saya tidak melakukan root atau menghapus item tombol bar yang tidak terlihat dari keseluruhan dokumen. Ini setelah melalui semua elemen satu per satu dan menemukan beberapa bilah navigasi kosong (tanpa turunan) dan kemungkinan terjadi dengan banyaknya salinan dan tempel (cmd + c | v) warisan dan tidak menggunakan duplikat (cmd + d) untuk membangun antarmuka. Meskipun sumber penyebabnya bukan akar penyebab, gejalanya adalah item batang tidak muncul dalam "tampilan garis besar" dokumen untuk diperbaiki. Perilaku Interface Builder menurut saya kadang-kadang bernuansa dan wadah kosong di mana harus ada sesuatu dalam tampilan garis besar adalah bau. Nah itu untuk saya sekarang. Terkadang menghapus node yang melanggar dan membangun kembali akan memperbaiki masalah yang paling aneh.
PERINGATAN: cadangkan storyboard Anda sebelum Anda mencoba ini ... kontrol versi adalah teman Anda ... Saya tidak bertanggung jawab jika storyboard Anda benar-benar disemprot dan tidak dapat dikompilasi. Yang akan Anda dapatkan hanyalah "Sudah kubilang!" Saya belajar dengan cara yang sulit beberapa kali, tetapi kontrol sumber yang rajin membuat saya sakit kepala.
EDIT: taruh tanda kurung di blok kode
sumber
style="plain"
dari kode sumber storyboard. Jadi, bagi saya saran dari Hunter ini tampaknya sah.Jika Anda mengklik peringatan dan Anda tidak pergi ke item navigasi yang menyinggung, lakukan hal berikut. (representasi visual dari jawaban Hunter dengan metode yang lebih aman dari komentar yang ditambahkan)
Di browser file, klik kanan pada storyboard dan pilih
Open As Source Code
Di halaman kode sumber, cari "biasa", dan temukan yang dilampirkan ke Item Navigasi.
Untuk mendapatkan nama View, menempatkan "adegan" di bar pencarian dan klik pencarian kembali panah untuk mencari contoh pertama pada tag yang di atas itu
navigationItem
Berikut adalah nama Scene Anda, Anda sekarang dapat mengubah tampilan Storyboard Anda kembali
Interface Builder - Storyboard
dengan metode klik kanan yang dijelaskan di atas, dan kemudian pergi untuk memilih Scene di menu scene, dan Bar Item di dalamnya.Pergi ke inspektur Attributes dan ubah gaya dari
Plain
menjadiBordered
sumber
Saya menghentikan peringatan tentang Plain Style dengan melihat-lihat di Document Outline. Itu menunjukkan Item Navigasi saya, dan di dalam 2 Item Tombol Bar itu, dan di dalam masing-masing tombol itu. Pengaturan yang menyinggung ada di Item Tombol Bar. Di inspektur atributnya, saya mengubah Gaya dari Biasa menjadi Selesai, dan peringatan itu hilang. Catatan: Saya menggunakan XCode 5.
sumber
Jika Anda menggunakan storyboard, klik peringatan dan itu akan membawa Anda ke item navigasi yang menyinggung (saya punya dua untuk masalah ini, satu membawa saya ke sana, yang lain tidak) - ubah gaya dan bersihkan proyek.
sumber
backBarButtonItem
leftBarButtonItem
danrightBarButtonItem
merupakanUINavigationItem
objek. Tidak adastyle
properti di dalamUINavigationItem
jadi ini alasan peringatan. Anda harus menyetel barButtons secara terprogram:iOS 4:
UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [bt setFrame:YourFrame]; //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal]; [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt]; self.navigationItem.leftBarButtonItem=leftButton;
Untuk iOS 5+:
Baca bagian "Menyesuaikan Tampilan" dari referensi UIBarButtonItem .
sumber
Di bilah navigasi coba gunakan UIBarButtonItem alih-alih tombol Round rect dan atur Gambar untuknya.
sumber
Dalam kasus saya, itu adalah gambar panah kembali, yang disetel ke "Biasa".
Pesan kesalahan muncul untuk merujuk ke semua item di bilah navigasi.
sumber
Setelah Anda yakin bahwa semua tombol bilah di storyboard disetel ke apa pun kecuali biasa, pastikan Anda melakukan git commit dan hapus data turunan. Saya menghabiskan selamanya untuk mencari tahu mengapa masalah tidak memperbaiki dirinya sendiri, dan menghapus folder data turunan memperbaikinya untuk saya.
sumber