我有一个显示相当数量文本的UITextView。我需要在文本视图中水平居中一些但不是全部的文本行。
我尝试使用NSParagraphStyle实例设置NSParagraphStyleAttributeName
,该实例的alignment
属性为NSTextAlignmentCenter
,在要居中的行的范围内。我也设置字体,因此居中的行是粗体。当我使用下面的代码执行此操作时,相关的行以粗体显示,但保持左对齐。
if (shouldCenterLine) {
NSMutableParagraphStyle *centerStyle = [[NSMutableParagraphStyle alloc] init];
centerStyle.alignment = NSTextAlignmentCenter;
NSDictionary *attributes = @{NSParagraphStyleAttributeName : centerStyle,
NSFontAttributeName : boldFont};
[attributedString setAttributes:attributes range:lineRange];
}
如果我将相同的段落样式属性应用于文本视图的整个内容,则文本最终会按预期居中。
是否有可能说服UITextView
将其文本的特定子范围置于中心?移动到UIWebView
渲染生成HTML的唯一解决方案是什么?请注意,这适用于仍然支持iOS 6的应用,所以很遗憾,我无法使用Text Kit。
答案 0 :(得分:1)
尝试在您应用样式的范围内围绕要居中的行周围的行返回。