Как да увеличите разстоянието между редовете в 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