Ich habe programmgesteuert ein NSTextField zu meiner NSView hinzugefügt:
NSTextField *projectLabel = [[NSTextField alloc] initWithFrame:frame];
[projectLabel setStringValue:@"Projektname"];
[projectLabel setBezeled:NO];
[projectLabel setDrawsBackground:NO];
[projectLabel setEditable:NO];
[projectLabel setSelectable:NO];
[projectLabel setFont:[NSFont controlContentFontOfSize:13]];
projectLabel.autoresizingMask = NSViewMaxXMargin | NSViewMinYMargin;
[self addSubview:projectLabel];
[self setAutoresizesSubviews:NO];
Dieses Feld wurde korrekt hinzugefügt, aber wenn ich die Größe der Ansicht ändere (oder sogar das Fenster auf den zweiten Bildschirm bewege), ändert sich die Schriftart auf dem Feld sehr eigenartig (siehe beigefügtes Bild).
Beim Start
nach Änderung der Größe
Ich weiß nicht, was ich falsch gemacht habe
0 Stimmen
Nicht dass dies helfen wird, aber Sie sollten 0,0 als Größe übergeben, um den Schriftinhalt der Steuerung in der Standardgröße zu erhalten.
1 Stimmen
Weiterhin: Die Schriftart ändert sich überhaupt nicht. Das Eingabefeld unterstreicht den Text doppelt: Es zeichnet den Text mehrmals, jedes Mal über den vorherigen.
0 Stimmen
Du hast absolut recht, ich habe dieses Label jedes Mal auf drawRect gezeichnet, wenn die Größe geändert wird.