Wiem o UITableview: Jak wyłączyć zaznaczanie dla niektórych wierszy, ale nie dla innych i cell.selectionStyle = UITableViewCellSelectionStyleNone
, ale jak sprawić, aby komórka (lub jakakolwiek inna UIView
) wyglądała na nieaktywną (wyszarzoną), jak poniżej?
uitableview
appearance
ma11hew28
źródło
źródło
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;
Rozszerzenie Swift, które działa dobrze w kontekście, którego używam; Twój przebieg może się różnić.
Swift 2.x
Swift 3:
Teraz to tylko kwestia telefonu
myCell.enable(truthValue)
.źródło
Dzięki @Ajay Sharma dowiedziałem się, jak sprawić, by
UITableViewCell
wyglądał na niepełnosprawnego:A następnie, aby faktycznie wyłączyć komórkę:
źródło
Spróbuj użyć małej sztuczki:
Po prostu ustaw alfa komórki. Ustaw jakiś warunek jako własne wymagania i ustaw alfa.
Jeśli to nie zadziała, tak jak lubisz, użyj drugiej sztuczki,
Po prostu zrób zdjęcie rozmiaru komórki z szarym tłem z przezroczystym tłem, po prostu dodaj ten obraz na obrazie nad zawartością komórki. Lubię to:
Wprawdzie nie jestem pewien sposobu, ale to z pewnością spełni Twoje wymagania, co da użytkownikowi wrażenie, że komórka jest wyłączona. Po prostu spróbuj skorzystać z tego rozwiązania i mam nadzieję, że rozwiąże Twój problem.
źródło
Świetne rozszerzenie od Kevina Owensa, oto moja poprawka do pracy z Swift 2.x :
Swift 3:
źródło
Swift 4.X
Niezłe rozszerzenie od Kevina Owensa, poprawiam zachowanie komórki.
Jak to nazwać: -
cell.enable(on: switch.isOn)
źródło
Stworzyłem następujące rozszerzenie, aby włączyć / wyłączyć UITableViewCell, jest bardzo wygodne w użyciu. Utwórz rozszerzenie UITableViewCell z „UITableViewCell + Ext.h” zawierającym następujące elementy.
„UITableViewCell + Ext.m” zawiera następujące elementy.
Jak wyłączyć komórkę:
Jak włączyć komórkę:
Mam nadzieję, że ci to pomoże.
źródło
za szybkie
źródło