У меня проблема с CATextlayer. Я установил wrapped == YES для CATextlayer, и он автоматически установил для этого несколько строк. Но межстрочный интервал очень мал и выглядит неплохо. Есть ли способ установить межстрочный интервал для CATextlayer? Благодарю.CATextlayer устанавливает интервал между строками?
3
A
ответ
0
Вы можете обратиться следующий учебник:
2
Я думаю CATextLayer
предназначен только для легкого использования. Вы можете установить его свойство string
в NSAttributedString
, чтобы изменить некоторые атрибуты, такие как шрифт и размер, но многие другие игнорируются, включая высоту строки и интервал.
Для более точного контроля над текстом в слое вы можете использовать обычные методы рисования CALayer
и NSAttributedString
; например:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
[NSGraphicsContext saveGraphicsState];
[NSGraphicsContext setCurrentContext:[NSGraphicsContext graphicsContextWithGraphicsPort:ctx flipped:YES]];
[self.someAttributedString drawInRect:layer.bounds];
[NSGraphicsContext restoreGraphicsState];
}
Это не отвечает на вопрос вообще. Речь идет об изменении межстрочного интервала 'CATextLayer', а не о вычислении высоты для определенной ширины ... – NSAddict