Saya bertanya-tanya bagaimana cara mengubah highlight biru / pemilihan warna UITableViewCell
, ada ide?
ios
uitableview
Thomas Joos
sumber
sumber
selectedBackgroundView
kemudian hanya akan pernah muncul. Hanya setelah mengatur "Pilihan" ke Default,selectedBackgroundView
muncul. Diuji pada iOS 6 dan 7.cell.selectedBackgroundView = [UIView new];
dan Anda mengatur warna apa pun yang Anda inginkan:cell.selectedBackgroundView.backgroundColor = [UIColor colorWithHex:@"ecf2f5" andAlpha:1];
Zonble telah memberikan jawaban yang sangat baik. Saya pikir mungkin berguna untuk memasukkan potongan kode pendek untuk menambahkan
UIView
sel tableview yang akan ditampilkan sebagai tampilan latar belakang yang dipilih.UITableViewCell
selectedBackgroundView
menjadiUIView
yang saya buat dengan warna latar belakang yang saya pilihIni bekerja dengan baik untuk saya. Terima kasih atas tipnya Zonble.
sumber
UITableViewCell
memiliki tiga gaya pilihan default: -Implementasinya adalah sebagai berikut: -
sumber
Di Swift, gunakan ini dalam
cellForRowAtIndexPath
Jika Anda ingin warna pilihan Anda sama di setiap
UITableViewCell
, gunakan ini diAppDelegate
.sumber
Jika Anda ingin mengubahnya dengan lebar aplikasi, Anda dapat menambahkan logika ke Delegasi Aplikasi Anda
sumber
untuk kelengkapan: jika Anda membuat subkelas Anda sendiri,
UITableViewCell
Anda dapat menerapkan- (void)setSelected:(BOOL)selected animated:(BOOL)animated
metode ini, dan mengatur warna latar belakang dari beberapa tampilan yang Anda tambahkan dalam tampilan konten. (jika itu masalahnya) atau dari contentView itu sendiri (jika tidak tercakup oleh salah satu dari pandangan Anda sendiri.(tidak menggunakan? agar sesuai dengan lebar kecil kode sumber DIV :)
pendekatan ini memiliki dua keunggulan dibandingkan menggunakan terpilihBackgroundView, ia menggunakan lebih sedikit memori, dan sedikit lebih sedikit CPU, bukan bahwa Anda bahkan akan melihat kecuali Anda menampilkan ratusan sel.
sumber
selectedBackgroundView
Di awal metode addself. selectedBackgroundView = [UIView new];
selectedBackgroundView
properti sama sekali.Saya harus mengatur gaya pemilihan agar
UITableViewCellSelectionStyleDefault
warna latar belakang kustom berfungsi. Jika ada gaya lain, warna latar belakang khusus akan diabaikan. Diuji pada iOS 8.Kode lengkap untuk sel sebagai berikut:
sumber
Berdasarkan jawaban pengguna @ , Anda bisa menambahkan ekstensi ini di mana saja dalam kode aplikasi Anda dan memiliki warna pilihan Anda langsung di editor storyboard untuk setiap sel aplikasi Anda:
sumber
Di storyboard Anda, atur kelas UITableViewCell Anda ke UIDesignableTableViewCell, pada inspektur Atribut, Anda dapat mengubah warna sel yang dipilih ke warna apa pun.
Anda dapat menggunakan ini untuk semua sel Anda. Beginilah tampilan inspektur Atribut Anda.
sumber
UIColor.clear
, bukanUIColor.clearColor()
. Tidak yakin apakah itu perubahan pada Swift juga, tetapi juga berfungsi tanpa@IBDesignable
.Swift 3.0 / 4.0
Jika Anda telah membuat sel khusus Anda sendiri, Anda dapat mengubah warna pilihan
awakeFromNib()
untuk semua sel:sumber
1- Tambahkan tampilan ke tampilan konten sel Anda.
2- Klik kanan sel Anda.
3- Jadikan tampilan tambahan sebagai "selectedBackgroundView"
sumber