Как увеличить расстояние между строками в UITextView

Как увеличить расстояние между строками в UITextView?

Я хочу использовать системный шрифт по умолчанию, то есть Helvetica размером 15.


person nitz19arg    schedule 03.04.2013    source источник
comment
возможный дубликат Как контролировать межстрочный интервал в UILabel   -  person Sulthan    schedule 03.04.2013
comment
stackoverflow.com/questions/4277551/   -  person Anoop Vaidya    schedule 03.04.2013
comment
stackoverflow.com/questions/3760924/   -  person Anoop Vaidya    schedule 03.04.2013
comment
Короче говоря, я не могу сделать это, как предлагают другие темы.   -  person nitz19arg    schedule 04.04.2013
comment
Вы определенно можете это сделать. Пожалуйста, примите ответ или отправьте свое решение.   -  person jungledev    schedule 01.10.2015
comment
@ nitz19arg, пожалуйста, примите мой ответ ниже (вы можете сделать это, установив галочку под значками «за» / «против»), если он сработал для вас, или отправьте свое решение. Нехорошо оставлять ответы висящими..   -  person jungledev    schedule 15.10.2015


Ответы (2)


Заявите, что реализуете протокол, добавив

<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.

person jungledev    schedule 01.10.2015

В IOS6+ вы можете установить атрибуты ввода для UITextView

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:lineSpacing];

NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:paragraphStyle forKey:NSParagraphStyleAttributeName];

[textView setTypingAttributes:attrsDictionary];
person Rami    schedule 25.09.2014