2013-07-22 3 views
3

У меня проблема с CATextlayer. Я установил wrapped == YES для CATextlayer, и он автоматически установил для этого несколько строк. Но межстрочный интервал очень мал и выглядит неплохо. Есть ли способ установить межстрочный интервал для CATextlayer? Благодарю.CATextlayer устанавливает интервал между строками?

ответ

0

Вы можете обратиться следующий учебник:

Height-for-width layout with CATextLayer

+0

Это не отвечает на вопрос вообще. Речь идет об изменении межстрочного интервала 'CATextLayer', а не о вычислении высоты для определенной ширины ... – NSAddict

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]; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^