Как да увеличите разстоянието между редовете в UITextView?
Искам да използвам системния шрифт по подразбиране, т.е. Helvetica с размер 15.
Как да увеличите разстоянието между редовете в UITextView?
Искам да използвам системния шрифт по подразбиране, т.е. Helvetica с размер 15.
Декларирайте, че прилагате протокола чрез добавяне
<NSLayoutManagerDelegate>
към вашия интерфейс. След това задайте:
yourTextView.layoutManager.delegate = self;
След това заменете този метод на делегиране:
- (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect
{
return 5; // Line spacing of 19 is roughly equivalent to 5 here.
}
АКТУАЛИЗАЦИЯ: Наскоро открих, че това може да се направи и с помощта на NSMutableParagraphStyle setLineSpacing:
API.
В стремежа си винаги да предоставяте полезна невероятна копия-поставяне на кодов фрагмент, ето ви!
NSMutableParagraphStyle *myStyle = [[NSMutableParagraphStyle alloc] init];
[myStyle setLineSpacing:myLineSpacingInt];
[myString addAttribute:myDesiredAttribute value:myStyle range:myDesiredRange];
[myViewElement setAttributedText:myString];
^myViewElement
може да бъде UITextField
, UILabel
или UITextView
.
В IOS6+ можете да зададете атрибутите за въвеждане за UITextView
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:lineSpacing];
NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:paragraphStyle forKey:NSParagraphStyleAttributeName];
[textView setTypingAttributes:attrsDictionary];