Ich habe - (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
in meinem NSTableView-Delegaten implementiert, um die Höhe der Zeilen meiner Tabelle zu ändern, wenn sich die Breite der Spalte ganz links ändert. Das Problem besteht darin, dass nur diese Spalte während der Größenänderung (und jeder Spalte, die während der Größenänderung sichtbar wird) neu gezeichnet wird.Erzwingen Neuzeichnen als Größe NSTableColumn in NSTableView?
Dies ergibt die funky visuelle nach der Größenänderung. Was ich möchte, ist eine Möglichkeit, der Tabellenansicht zu sagen, dass sie komplett neu gezeichnet werden muss, während der Benutzer die Größe einer Spalte ändert. Im Moment kann ich höchstens setNeedsDisplay
aufrufen, nachdem diese Spalte die Größenänderung beendet hat.
Ich habe das probiert, weil ich es in der Dokumentation gesehen habe, aber ich kann es nicht von innen aufrufen '- (CGFloat) tableView: (NSTableView *) tableView heightOfRow: (NSInteger) Zeile, weil es eine Endlosschleife verursacht. – Dov
@Dov Aktualisierung Vorschlag. – Richard
Ich habe versucht, 'noteHeightOfRowsWithIndexesChanged:' und 'setNeedsDisplay' aus der 'setWidth:' - Überschreibung der benutzerdefinierten Spalte aufzurufen, und keine davon hat einen Unterschied gemacht. Was genau sagen Sie jetzt, sollte getan werden 'setWidth:'? Etwas, das dies vereinfachen könnte, ist, dass in meiner Anwendung, wenn sich die Höhe einer Zeile ändert, alle dies typischerweise tun. Das kann angenommen werden. – Dov