Frage

Die Kürzung kann leicht für den Haupttextbereich festgelegt werden, aber das Popup führt keine Kürzung mit ähnlichen Pfaden durch, die Benutzer können nicht erkennen, welcher Pfad welcher ist.

Oder ist die Möglichkeit, die Breite der Popup -Liste so zu ändern, dass sie mit der längsten Zeichenfolge übereinstimmt, sodass Kürzung nicht benötigt wird?

War es hilfreich?

Lösung

Leider gibt es keinen offiziellen Weg, dies zu tun.

Es gibt eine Möglichkeit, dies zu tun, die, obwohl es keine privaten Methoden anwendet, auf der Art und Weise, wie NSCOMBOBOXES intern implementiert werden, intern abhängt und sich jederzeit ändern kann. Dies wäre im App Store wahrscheinlich nicht akzeptabel.

Wenn Sie NSComboboxcell unterklassen und die NstableViewDelegate -Methode implementieren tableView:willDisplayCell:forTableColumn:row:, Sie können die Textzelle ändern, bevor sie im Popup -Fenster des Kombinationsfelds angezeigt wird.

- (void)tableView:(NSTableView *)tableView
        willDisplayCell:(NSCell *)cell
        forTableColumn:(NSTableColumn *)tableColumn
        row:(NSInteger)rowIndex
{
   [cell setTruncatesLastVisibleLine:YES];
   [cell setLineBreakMode:NSLineBreakByTruncatingMiddle];
}

Dies funktioniert, da die Popup -Liste intern mit einem NstableView implementiert ist und der Delegierte der Tabellenansicht auf die Popup -Zelle eingestellt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top