如何增加 UITextView 中的行间距?
我希望使用默认系统字体,即尺寸为 15 的 Helvetica。
声明你通过添加实现协议
<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];