Wie mache ich eine UITableViewCell deaktiviert?
-
29-10-2019 - |
Frage
Ich weiß von UITableView:So deaktivieren Sie die Auswahl für einige Zeilen, für andere jedoch nicht und cell.selectionStyle = UITableViewCellSelectionStyleNone
, aber wie mache ich eine Zelle (oder irgendeine UIView
für diese Angelegenheit) erscheinen deaktiviert (ausgegraut) wie unten?
Lösung
Sie können die Textfelder der Zelle einfach deaktivieren, um sie auszuarbeiten:
swift 4.x generasacodicetagpre.
Andere Tipps
Dank @Ajay Sharma habe ich herausgefunden, wie man eine macht UITableViewCell
erscheinen Behinderte:
// Mac's native DigitalColor Meter reads exactly {R:143, G:143, B:143}.
cell.textLabel.alpha = 0.439216f; // (1 - alpha) * 255 = 143
aSwitch.enabled = NO; // or [(UISwitch *)cell.accessoryView setEnabled:NO];
Und dann, um tatsächlich deaktivieren Sie die Zelle:
cell.userInteractionEnabled = NO;
Eine schnelle Erweiterung, die im Kontext gut funktioniert, benutze ich es;Ihre Kilometerzahl kann variieren.
swift 2.x generasacodicetagpre.
swift 3: generasacodicetagpre.
Jetzt ist es nur eine Frage der Anrufung von generationstabelletagcode.
Versuchen Sie es mit einem kleinen Trick zu verwenden:
Stellen Sie einfach das Alpha der Zelle ein.Legen Sie einen bestimmten Zustand als Ihre eigenen Anforderungen an und setzen Sie das Alpha ein. generasacodicetagpre.
Wenn es nicht funktioniert, so wie Sie es mögen, dann den zweiten Trick verwenden,
Nehmen Sie einfach ein Bild der Zellengröße mit grauem Hintergrund mit transparentem Hintergrund, fügen Sie dieses Bild einfach in den Bild über den Zellinhalt hinzu. Wie folgt: generasacodicetagpre.
Obwohl ich nicht sicher bin, ist es nicht sicher, dass dies jedoch sicherlich Ihre Anforderung erfüllt wird. Dies wird eine Art Illusion im Verstand des Benutzers geben, dass die Zelle deaktiviert ist. Versuchen Sie einfach, diese Lösung zu verwenden. Hope, das Ihr Problem lösen wird.
Great Extension von Kevin Owens, dies ist meine Korrektur für die Arbeit mit swift 2.x : generasacodicetagpre.
Swift 3: generasacodicetagpre.
"uitierbareviewcell + ext.m" enthalten folge darin. generasacodicetagpre.
hoffe es hilft dir.
swift 4.x
schöne Verlängerung von Kevin Owens, Ich korrigiere das Verhalten der Zelle. generasacodicetagpre.
Wie rufen Sie dies an: -
cell.enable(on: switch.isOn)
für schnelle generasacodicetagpre.