Kontrollkästchen Bild umschalten in UITableViewCell
Ich brauche einige Hinweise über das erstellen einer UITableViewCell, hat ein Bild auf der linken Seite kann ein-und ausgeschaltet werden. Das Bild sollte arbeitsfähiger und handeln wie ein Schalter (checkbox).
Meine Teile, die ich zu kämpfen mit:
- Wie kann ich erkennen, tippt auf das Bild, und behandeln Sie diese anders zu didSelectRowAtIndexPath?
- Wie ändere ich das Bild ohne Durchführung einer [tableView reloadData]?
Siehe das Bild unten für ein Beispiel:
alt-text http://img208.yfrog.com/img208/6119/screenshotkmr.png
Dank
InformationsquelleAutor der Frage rein | 2009-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es eigentlich ziemlich einfach.
Erstellen Sie einfach eine neue Unterklasse von UIControl und legte es alle in es (keine Notwendigkeit für einen separaten controller.) Nennen wir es ToggleImageControl.
Erstellen Sie eine ToggleImageControl für jede Zelle, und fügen Sie es an die entsprechende position.
Hinzufügen eines UIImageView auf das Bild. Fügen Sie ein Ziel für die touch-event.
Legen Sie die UIImageView - image-Eigenschaft aktualisieren Sie das Bild; der Auslöser, wird der zeichnen-ohne Nebenwirkungen.
Brauchen Sie offensichtlich zu massage einige Sachen. Sie wollen wahrscheinlich pass in den beiden Namen des Bildes, um es wiederverwendbar, und auch ich würde empfehlen die Angabe des notification-name-Zeichenfolge, die von außerhalb des Objekts als auch (vorausgesetzt, Sie verwenden die Methode notification.)
InformationsquelleAutor der Antwort Amagrammer
Hier ist eine Implementierung des "überschreiben touchesBegan:" der Ansatz, den ich verwende, ist einfach und scheint gut zu funktionieren.
Nur diese Klasse in Ihrem Projekt und erstellen und konfigurieren eines
TouchIconTableViewCell
statt einerUITableView
Zelle in IhremtableView:cellForRowAtIndexPath:
Methode.TouchIconTableViewCell.h:
TouchIconTableViewCell.m:
Jedes mal, wenn Sie erstellen oder neu verwenden Sie die Zelle, setzen die
touchIconDelegate
undtouchIconIndexPath
Eigenschaften. Wenn Ihr Symbol berühren, wird der Delegat aufgerufen wird. Dann können Sie aktualisieren Sie das Symbol oder was auch immer.InformationsquelleAutor der Antwort Archie
Also das "..müssen natürlich massage einige Sachen.." - Kommentar heißt, "...dieser code funktioniert nicht...".
So
sollte
Als
- (void) viewDidLoad
nie aufgerufen wird.InformationsquelleAutor der Antwort
Scheint es, dass Apple hochgeladen "TableMultiSelect" als Beispiel-codes auf iOS-Developer-Programm seit 2011-10-12.
Mehrfach-Selektion im edit-Modus kann aktiviert werden, indem Sie diesen code.
http://developer.apple.com/library/ios/#samplecode/TableMultiSelect/Introduction/Intro.html
Obwohl es kann verwendet werden, nur von iOS5.
Mehrere Stunden konnte ich nicht finden, diese Beispiel-code in Stack-Überlauf, also ich habe diese info zu diesem post.
InformationsquelleAutor der Antwort tokentoken
Gibt es ein noch EINFACHER Weg, dies zu tun, wenn Sie überschreiben touchesBegan: Sie müssen eine if-Anweisung, um zu entscheiden, wenn es innerhalb der Häkchen Nähe, wenn es das nicht nennen
[super touchesBegan:touches withEvent:event]
und es wird so tun, als wenn es ausgewählt wurde.InformationsquelleAutor der Antwort skylerl
Ich etwas ähnliches machen (in der Hauptrolle ein Favorit), aber ich glaube, du bist fordern eine Menge von den Daumen der iPhone-Nutzer mit der Zelle lenken die Menschen zu einer anderen Ansicht. Zunächst würde ich prüfen, die Einzelheiten der Offenlegung option auf die Zellen. Eine der Optionen ist eine pre-made-Pfeil-Schaltfläche, die Sie Anhängen können. Ihren Anruf.
Könnten Sie in der Lage sein, um Weg mit dem fangen der didSelectRowAtIndexPath Ereignis und dann tun einige andere Logik statt umleiten, wenn die Berührung war auf Ihre checkbox, obwohl ich nicht weiß, wie würden Sie die position. Dies bedeutet, dass müssen Sie möglicherweise einen Weg finden, um ahold von den touch-event, bevor es Anrufe didSelectRowAtIndex Weg, dessen bin ich mir nicht ganz sicher, wie Sie Sie zu tun. Sie arbeitete mit der Handhabung von touchesBegan und wie noch?
InformationsquelleAutor der Antwort TahoeWolverine