ページ

2008年4月12日土曜日

NSFormatter その2

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

引き続き NSFormatter。

#attributedStringForObjectValue:withDefaultAttributes: をオーバーライドすると、NSAttributedStringで表現ができる。前回のサンプルに文字色を赤くするようにメソッドを追加してみた。

- (NSAttributedString *)attributedStringForObjectValue:(id)anObject withDefaultAttributes:(NSDictionary *)attributes
{
[attributes setValue:[NSColor redColor] forKey:NSForegroundColorAttributeName];
NSAttributedString* attr_str = [[NSAttributedString alloc]
initWithString:[NSString stringWithFormat:@"%x", [anObject intValue]]
attributes:attributes];
return attr_str;
}


するとこんな感じ。


このメソッドを使うとマイナス値は赤など任意の修飾ができる。