So erhalten Sie die Höhe einer NSTableCellView, die das automatische Layout verwendet

8

Ich habe eine view-basierte NSTableView . Ich positionierte die textField und andere Elemente in einem NSTableCellView im Interface Builder mit automatischem Layout. Wie kann ich die Höhe für die Zelle anhand ihrer automatischen Layoutparameter ermitteln?

Diese Antwort ist das, was ich am meisten gesucht habe, aber es ist für iOS geschrieben und die Methode systemLayoutSizeFittingSize existiert nicht auf NSView .

    
titaniumdecoy 08.03.2014, 01:04
quelle

1 Antwort

5

Sie können die Ansichten innerhalb Ihrer Tabellenzellenansicht in eine separate NSView (nennen wir diese Ansicht contentView ). Setzen Sie die automatischen Layouteinschränkungen für contentView so, dass sie an der übergeordneten Ansicht links (oben), oben und rechts (nachlaufend) ausgerichtet sind. Stellen Sie sicher, dass die Unteransichten von contentView die Größe ihrer übergeordneten Ansicht ändern. Erstellen Sie IBOutlet für diese Ansicht in Ihrer NSTableCellView Unterklasse Um die Höhe zu berechnen, rufen Sie fittingSize für contentView , die basierend auf den Einschränkungen die minimale Größe Ihrer Subviews erhalten soll.

    
goetz 12.03.2014 15:58
quelle