2014-03-25 5 views
6

Ich habe eine NSTableView mit vielen Zeilen, die ein Benutzer auswählen kann. Wenn ein Benutzer eine Zeile ausgewählt, erhalte ich denWie wird eine NSTableView-Zeile erkannt, wenn sie bereits ausgewählt ist?

- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row 

NSTableViewDelegate Methodenaufruf, das ist genial. Wenn der Benutzer auf diese Zeile klickt, markiere ich ihn.

Das Problem ist jedoch, dass ich den Delegat-Aufruf nicht erneut erhalten, wenn der Benutzer die Zeile erneut "auswählt" (ohne die Zeile abzuwählen oder eine andere Zeile auszuwählen).

Zum Beispiel klickt ein Benutzer eine bestimmte Zeile und bestimmte Dateien laden. Wenn der Benutzer diese Zeile erneut auswählen sollte, möchte ich die geladenen Dateien aktualisieren. Ich erhalte jedoch nicht das zweite Mal, dass der Benutzer auf die Zeile klickt.

Eine Option wäre die Auswahl der Zeile, aber ich muss sie beibehalten, damit der Benutzer weiß, welche Option er ausgewählt hat.

Gibt es eine Delegate-Methode, die ich verpasst habe, die mir sagt, wenn eine Zeile ausgewählt ist (oder geklickt hat), wenn sie bereits ausgewählt ist?

Vielen Dank im Voraus!

Antwort

5

Beim Schreiben dieser Frage ich die Antwort unter den vorgeschlagenen ähnlichen Fragen gefunden, so will ich schreiben, was ich gefunden:

On this question es ein IBAction für Anklicken der NSTableView verwendet vorgeschlagen wurde. Das funktionierte großartig, da ich immer den IBAction Anruf erhalten würde, selbst wenn die Zeile ausgewählt wurde. Ich konnte dann nur meine Implementierung der - (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row Methode loswerden!

Hoffe das hilft jemand anderem!

Verwandte Themen