8
如何讓文本比例符合我給出的範圍?獲取NSTextField內容的比例
如何讓文本比例符合我給出的範圍?獲取NSTextField內容的比例
我以前做過這樣的事情。
-(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)];
}
字符串變量是您想調整大小的文本。 xMargin和yMargin變量用於您想要的間距。 minFontSize和maxFontSize變量會限制您想要的大小。
哇。太棒了!感謝一堆!!!!!! – 2010-05-26 20:06:32
剛剛發現這個,它幫助了我一堆,謝謝! – 2011-03-18 04:36:54
這對多行文本字段不適用。 – 2011-04-05 13:57:56