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?

disabled UITableViewCell

War es hilfreich?

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.

Ich habe nach der Erweiterung erstellt, um UitableViewCell zu aktivieren / deaktivieren, es ist sehr praktisch, um sie zu verwenden. Erstellen Sie eine UitableViewCell-Erweiterung mit "uitableviewcell + ext.h" enthalten in ihm. generasacodicetagpre.

"uitierbareviewcell + ext.m" enthalten folge darin. generasacodicetagpre.

So deaktivieren Sie die Zelle: generasacodicetagpre.

So aktivieren Sie die Zelle: 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top