Рисование приписанных строк, и заполняющихся и перечеркивающихся
Q: Как я могу нарисовать строку, указывающую и цвет заливки и штриховую ширину?
A: Предоставьте отрицательную величину для NSStrokeWidthAttributeName когда Вы хотите нарисовать строку, и заполняющуюся и перечеркивающуюся.
Это вызвано тем, что знак значения для NSStrokeWidthAttributeName интерпретируется как режим; это указывает, должна ли приписанная строка быть заполнена, перечеркнуться, или оба. В частности, в то время как положительное значение выводит на экран штрих только, нулевое значение выводит на экран заливку только. Отрицательная величина позволяет отображать обоих заливка и штрих.


Код в Перечислении 1 демонстрирует пользовательское представление, представляющее приписанную строку, это и заполняется и перечеркивается. Результаты находятся на рисунке 3.
Рендеринг перечисления 1 заполненный и перечеркиваемый приписал строку.
- (void)drawRect:(NSRect)rect { |
NSString *string = @"Got Fill?"; |
NSMutableDictionary *stringAttributes = [NSMutableDictionary dictionary]; |
// Define the font and fill color |
[stringAttributes setObject: [NSFont fontWithName:@"Arial-Black" size:64] forKey: NSFontAttributeName]; |
[stringAttributes setObject: [NSColor whiteColor] forKey: NSForegroundColorAttributeName]; |
// Supply a negative value for stroke width that is 2% of the font point size in thickness |
[stringAttributes setObject: [NSNumber numberWithFloat: -2.0] forKey: NSStrokeWidthAttributeName]; |
[stringAttributes setObject: [NSColor blackColor] forKey: NSStrokeColorAttributeName]; |
// Paint the background |
[[NSColor grayColor] set]; |
[NSBezierPath fillRect: [self bounds]]; |
// Draw the string |
[string drawAtPoint: NSMakePoint(100, 100) withAttributes: stringAttributes]; |
} |

См. также
Для получения дополнительной информации о рисовании строк см. Строковое Руководство по программированию для Какао, Приписанного Строкового Руководства по Рисованию Руководства по программированию и Какао: текст.
История версии документа
| Дата | Примечания |
|---|---|
| 29.04.2013 | Редакционное исправление. |
| 25.03.2008 | Новый документ, описывающий, как значение NSStrokeWidthAttributeName указывает заливку, штрих или обоих, в приписанных строках. |