Wie zentriere ich Text vertikal in einem NSTextField?

9

Ich habe ein NSTextField und möchte den Text darin vertikal zentrieren. Im Grunde benötige ich die NSTextField-Antwort von Wie zentriere ich UITextField Text?

Hat jemand ein paar Hinweise? Danke!

    
simon.d 24.12.2011, 13:30
quelle

3 Antworten

18

Sie könnten NSTextFieldCell ableiten, um das zu tun, was Sie wollen:

MDVerticallyCenteredTextFieldCell.h:

%Vor%

MDVerticallyCenteredTextFieldCell.m:

%Vor%

Sie können dann ein reguläres NSTextField im Interface Builder verwenden und MDVerticallyCenteredTextFieldCell (oder wie auch immer Sie es nennen wollen) als benutzerdefinierte Klasse für die Textfeldzelle des Textfelds angeben (wählen Sie das Textfeld, pausieren und klicken Sie dann auf das Textfeld erneut, um die Zelle innerhalb des Textfelds auszuwählen):

    
NSGod 24.12.2011 18:03
quelle
2

Es ist besser, boundingRectForFont und die Funktion ceilf() bei der Berechnung der maximalen Schrifthöhe zu verwenden, da die oben genannte Lösung dazu führt, dass Text unter der Baseline abgeschnitten wird. Das adjustedFrameToVerticallyCenterText: wird also so aussehen

%Vor%     
Vladislav Senyukov 15.04.2015 16:27
quelle
1

Swift 3.0-Version (Erstellen Sie eine benutzerdefinierte Unterklasse für NSTextFieldCell):

%Vor%     
Beninho85 03.08.2017 18:34
quelle

Tags und Links