覚え書き。
文字列を描画するとき,枠の中に入らない場合があって,折り返すかちょんぎるか省略するか,ってなる。
NSStringのdrawInRect:withAttributes:で描くとデフォルトでは折り返されてしまうので,ちょんぎるか省略する場合はwithAttributes:に
NSMutableParagraphStyle* lineBreakStyle = [[[NSMutableParagraphStyle alloc] init] autorelease];
[lineBreakStyle setLineBreakMode:NSLineBreakByTruncatingTail];
NSDictionary* attrib = [NSDictionary dictionaryWithObjectsAndKeys:lineBreakStyle, NSParagraphStyleAttributeName, nil];
のような感じで作ったattribを指定する。
NSLineBreakBy…は,折り返すのもちょん切るのも省略(頭・ケツ・真ん中)もある。
もちろんNSAttributedStringに設定してやってもOK。
ellipsisとtruncateというキーワードでは探しても見つからないんで,そういう機能はないのかと思いました(ググったら「1文字ずつ幅を計算して自分で省略するんだよハハハ」のようなのしか見つからず,マジか?!状態でした)。