ここで少し問題があります。これらのフォントのフォント名を表示する NSTextField を持つビューのコレクションを持つ NSCollectionView があります。スクリーンショットは次のとおりです。
ご覧のように、一部のフォントは正しく表示されず、Interface Builder のフォント サイズが背後にあります。このコードを使用してinitWithFrame:
、NSTextFieldのフォント サイズを設定します。
float targetWidth = rect.size.width - 10;
float targetHeight = rect.size.height - 10;
int i;
for (i = 10; i < 100; i++) {
NSDictionary *attrs = [[NSDictionary alloc] initWithObjectsAndKeys:[NSFont fontWithName:[self.font fontName] size:i], NSFontAttributeName, nil];
NSSize strSize = [[self stringValue] sizeWithAttributes:attrs];
[attrs release];
if (strSize.width > targetWidth || strSize.height > targetHeight) {
break;
}
}
[self setFont:[NSFont fontWithName:[self.font fontName] size:(i - 1)]];
どうすればこれを修正できますか? ひどいですね。前もって感謝します。