Вот как я думаю, что это может работать:
- (void) drawRect:(NSRect)aRect {
// other drawing commands
// ...
// other drawing commands
NSDictionary *att = nil;
NSMutableParagraphStyle *style =
[[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[style setLineBreakMode:NSLineBreakByWordWrapping];
[style setAlignment:NSCenterTextAlignment];
att = [[NSDictionary alloc] initWithObjectsAndKeys:
style, NSParagraphStyleAttributeName,
[NSColor whiteColor],
NSForegroundColorAttributeName, nil];
[style release];
[self.title drawInRect:self.bounds withAttributes:att];
[att release];
}
на основе немного знаний Objective-C на iPhone и глядя на
http://www.cocoadev.com/index.pl?DrawingABoundedString
Вам может показаться неудобным использование примера статической переменной на веб-сайте.
Как вы, наверное, поняли, я нет. У меня сложилось впечатление, что текущий графический контекст подразумевается в вызове.
Возможно, вы хотите изменить положение / цвет текста в зависимости от состояния кнопки.
EDIT
Код отредактирован для устранения утечки памяти.