Dies ist wahrscheinlich ein Fehler in IB, wie Sie in der Dokumentation sehen, dass die Tabellenansicht keine Eigenschaft für die Auswahl der Shows bei Berührung hat. Es ist eher die Eigenschaft der Tabellenansichtszelle. Daher sollte das Kontrollkästchen im IB nicht vorhanden sein. Wahrscheinlich können Sie einen Fehler bei Apple einreichen und sehen, was sie dazu sagen.
Um den Effekt zu erhalten, sollten Sie es wie folgt machen:
%Vor%Hoffe, das hilft.
Ich denke auch, dass es wahrscheinlich ein Fehler ist. Allerdings habe ich gerade eine perfekte Problemumgehung basierend auf den folgenden Beobachtungen gefunden.
highlighted
beim Aufsetzen und selected
beim Aufräumen . -setHighlighted:animated:
als auch -setSelected:animated:
heben die Zelle entsprechend ihrem Auswahlstil hervor, d. h. wenn eine der beiden aktiviert wird, während die andere ausgeschaltet ist, wird die Zelle hervorgehoben. highlighted
erstellt (normalerweise benötigt die untenstehende Lösung nur eine entsprechende Optimierung, die je nach Situation leicht zu ermitteln ist). Gegeben die obige Unterklasse UITableViewCell und überschreiben Sie setHighlighted:animated:
, ohne die Implementierung von super
aufzurufen. Somit würden alle Bemühungen, highlighted
einzuschalten, unterdrückt und die Hervorhebung würde nur beim Auffrischen und nicht beim Aufsetzen erfolgen, was genau das ist, was beim Ausschalten von "Auswahl bei Berührung anzeigen" erwartet wird.
Beim Auffrischen ist die Zelle selected
, aber nicht animated
. Wenn Sie die Animation möchten, habe ich festgestellt, dass der Aufruf einer Delegate-Methode, wie unten gezeigt, die Auswahl animiert.
Tags und Links iphone uitableview