2009-04-22 3 views
0

Meine App verwendet Coredata und zeigt Daten in einer Tabelle an, eine Spalte hat ein Kontrollkästchen und eine hat den Titel. Was ich will es ist, dass, wenn das Kontrollkästchen aktiviert ist es löscht die Zeile anstelle von Menschen mit der Schaltfläche Entfernen/Minus. Der Grund dafür ist, dass meine App eine Task-Management-App ist.Wie würden Sie ein Kontrollkästchen löschen, wenn eine Zeile in einer Tabelle gelöscht wird (Cocoa)?

+0

Möchten Sie, dass das Objekt sofort entfernt wird (sobald es auf das Kontrollkästchen geklickt hat), oder möchten Sie, dass mehrere Elemente ausgewählt werden können, und dann auf eine Schaltfläche "Ausgewählte entfernen" klicken? –

Antwort

4

Das klingt wie ein schlechtes Benutzeroberflächen-Design. Ein verirrter Klick, und die Aufgabe ist weg. Was Sie tun sollten, ist, dass die Checkbox ein "completed" -Flag gesetzt hat, und dann kann Ihre Ansicht diese Aufgabe entweder anders anzeigen (z. B. mit durchgestrichenem Text oder ausgegraut) oder dem Benutzer die Möglichkeit bieten, Einträge mit dem gesetzten Flag nicht anzuzeigen.

+0

Hey, das ist eine gute Idee, wie würde ich die Zeilen Hintergrundfarbe ändern, wenn das Kontrollkästchen aktiviert ist? – Joshua

+0

Von meinem Kopf, weiß ich nicht. Ich würde damit beginnen, die editierbaren oder aktivierten Eigenschaften der Textzellen an das fertige Flag zu binden. Wenn dies keine visuelle Anzeige ergibt, können Sie die Textfarbe wahrscheinlich mit einem Werttransformer an das vervollständigte Flag binden. Basierend auf einem kurzen Blick in IB, können Sie die Farbe wahrscheinlich nicht selbst binden, also müssten Sie das mit KVO beibehalten. – user57368

+1

Sie könnten leicht ein Prädikat für das Array haben, so dass es nur solche ohne das vervollständigte Attributset anzeigt. –

Verwandte Themen