文字の描画サイズは NSString#sizeWithAttributes: で取得できる。
文字描画のコードは次のようになっていた。
- (void)drawInformation
{
NSString *info =
[NSString stringWithFormat:@"%.0f x %.0f",
fabs(_rect.size.width), fabs(_rect.size.height)];
NSMutableDictionary *stringAttributes = [NSMutableDictionary dictionary];
[stringAttributes setObject:[NSFont boldSystemFontOfSize:18.0]
forKey: NSFontAttributeName];
[stringAttributes setObject:[NSColor whiteColor]
forKey:NSForegroundColorAttributeName];
[stringAttributes setObject:[NSColor blackColor]
forKey:NSStrokeColorAttributeName];
[stringAttributes setObject:[NSNumber numberWithFloat: -1.5]
forKey:NSStrokeWidthAttributeName];
:
:
文字属性の設定に使っているこのstringAttributes を先ほどのメソッドへ渡してやれば良い。
NSSize size = [info sizeWithAttributes:stringAttributes];
これで描画しようとしている文字の大きさがわかる。このサイズを前回のボタン表示のオフセット位置として使ってやれば良い。
桁が大きくなっても大丈夫。
もちろん小さくなっても大丈夫。
よし。次はプルダウンだな。