Saya tahu tentang UITableview: Bagaimana Menonaktifkan Seleksi untuk Beberapa Baris tetapi Tidak Yang Lain dan cell.selectionStyle = UITableViewCellSelectionStyleNone
, tetapi bagaimana cara membuat sel (atau dalam UIView
hal ini) tampak tidak aktif (berwarna abu-abu) seperti di bawah ini?
uitableview
appearance
ma11hew28
sumber
sumber
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;
Ekstensi Swift yang bekerja dengan baik dalam konteks yang saya gunakan; jarak tempuh Anda mungkin berbeda.
Cepat 2.x
Cepat 3:
Sekarang tinggal masalah menelepon
myCell.enable(truthValue)
.sumber
Terima kasih kepada @Ajay Sharma, saya menemukan cara untuk membuatnya
UITableViewCell
tampak dinonaktifkan:Dan kemudian, untuk benar - benar menonaktifkan sel:
sumber
Coba gunakan trik kecil:
Cukup atur alpha sel. Letakkan beberapa kondisi sebagai persyaratan Anda & setel alfa.
Jika tidak berhasil, seperti yang Anda inginkan, Gunakan trik kedua,
Ambil saja gambar ukuran sel yang memiliki latar belakang abu-abu dengan Latar Belakang Transparan, cukup tambahkan gambar itu dalam gambar di atas konten sel. Seperti ini:
Meskipun saya tidak yakin dengan caranya, tapi ini pasti akan memenuhi kebutuhan Anda, ini akan memberikan semacam ilusi di benak pengguna bahwa sel tersebut adalah Disable. Coba saja gunakan solusi ini.Harap itu akan menyelesaikan masalah Anda.
sumber
Ekstensi hebat dari Kevin Owens, inilah koreksi saya untuk bekerja dengan Swift 2.x :
Cepat 3:
sumber
Cepat 4.X.
Perpanjangan yang bagus dari Kevin Owens, saya mengoreksi perilaku sel.
Bagaimana menyebutnya: -
cell.enable(on: switch.isOn)
sumber
Saya telah membuat ekstensi berikut untuk Mengaktifkan / Menonaktifkan UITableViewCell, sangat nyaman untuk menggunakannya. Buat Ekstensi UITableViewCell dengan "UITableViewCell + Ext.h" yang berisi mengikuti di dalamnya.
"UITableViewCell + Ext.m" berisi mengikuti di dalamnya.
Cara Menonaktifkan Sel:
Cara Mengaktifkan Sel:
Semoga membantu Anda.
sumber
untuk cepat
sumber