8
Wie kann ich den Text skalieren, um die Grenzen zu erfüllen, die ich ihm gegeben habe?NSTextField Inhalte skalieren
Wie kann ich den Text skalieren, um die Grenzen zu erfüllen, die ich ihm gegeben habe?NSTextField Inhalte skalieren
Ich habe so etwas in der Vergangenheit getan.
-(void)calcFontSizeToFitRect:(NSRect)r {
float targetWidth = r.size.width - xMargin;
float targetHeight = r.size.height - yMargin;
// the strategy is to start with a small font size and go larger until I'm larger than one of the target sizes
int i;
for (i=minFontSize; i<maxFontSize; i++) {
NSDictionary* attrs = [[NSDictionary alloc] initWithObjectsAndKeys:[NSFont fontWithName:currentFontName size:i], NSFontAttributeName, nil];
NSSize strSize = [string sizeWithAttributes:attrs];
[attrs release];
if (strSize.width > targetWidth || strSize.height > targetHeight) break;
}
[self setCurrentFontSize:(i-1)];
}
Die Zeichenfolgenvariable ist der Text, den Sie sortieren möchten. Die Variablen xMargin und yMargin sind für den gewünschten Abstand vorgesehen. Die Variablen minFontSize und maxFontSize geben Grenzen vor, wie klein oder groß Sie gehen möchten.
wow. Fantastisch! Vielen Dank!!!!!! –
Nur gefunden, und es hat mir einen Haufen geholfen, danke! –
Dies funktioniert nicht sehr gut für mehrzeilige Textfelder. –