Как бы добавить текст из названия кнопки в подклассе NSButton?Рисование текста в подклассе NSButton
2
A
ответ
4
Вот как я думаю, что это может работать:
- (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
Код исправлен, чтобы исправить утечку памяти.
3
Вы подклассом NSButtonCell
и переопределяете один или несколько различных методов draw
, доступных для NSButtonCell
и NSCell
.
Вы также должны объяснить, как заставить NSButton использовать этот подкласс NSButtonCell, потому что это не очевидно. Это выглядит примерно так: http://stackoverflow.com/questions/16838525/ –