textView中的内容富文本
2018-11-14 本文已影响0人
LetBe
今天在textview加入了大量的文字, 目标是 标题居中,内容左对齐,并且首行缩进。
首先想到的是NSMutableAttributedString,现将标题加入,再采用段落,进行居中
NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:@"我是独一无二的\n\n"];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineSpacing = 1;// 字体的行间距
paragraphStyle.alignment = NSTextAlignmentCenter;//(两端对齐的)文本对齐方式:(左,中,右)
[attribute addAttributes:@{NSParagraphStyleAttributeName:paragraphStyle,NSFontAttributeName:[UIFont fontWithName:@"PingFangSC-Medium" size:11]}range:NSMakeRange(0, attribute.length)];
//再将内容加入到另一个attribute中(再创建一个)和 新的段落,
再将标题的 attribute 插入到 内容的前面
[secondAttribute insertAttributedString:attribute atIndex:0];
contentTextView.attributedText = secondAttribute;
//最后遇到了一个问题 就是如果内容过长的话,textview直接显示了最下面的内容,而不是从头开始
contentTextView.layoutManager.allowsNonContiguousLayout = NO;
这段代码 可以让textView从头显示