Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UITextView中水平居中放置一行文字?_Ios_Objective C_Cocoa Touch_Uitextview_Text Alignment - Fatal编程技术网

Ios 如何在UITextView中水平居中放置一行文字?

Ios 如何在UITextView中水平居中放置一行文字?,ios,objective-c,cocoa-touch,uitextview,text-alignment,Ios,Objective C,Cocoa Touch,Uitextview,Text Alignment,我有一个UITextView,它显示了大量的文本。我需要在文本视图中水平居中一些(但不是全部)文本行 我已尝试使用一个NSParagraphStyleAttributeName实例设置NSParagraphStyle属性为NSTextAlignmentCenter的NSParagraphStyle实例,该实例位于要居中的行的范围内。我还设置了字体,所以中心线是粗体的。当我使用下面的代码执行此操作时,相关行以粗体显示,但保持左对齐 if (shouldCenterLine) { NSMut

我有一个UITextView,它显示了大量的文本。我需要在文本视图中水平居中一些(但不是全部)文本行

我已尝试使用一个NSParagraphStyleAttributeName实例设置
NSParagraphStyle属性为
NSTextAlignmentCenter
的NSParagraphStyle实例,该实例位于要居中的行的范围内。我还设置了字体,所以中心线是粗体的。当我使用下面的代码执行此操作时,相关行以粗体显示,但保持左对齐

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的应用程序,因此很遗憾,我无法使用文本工具包。

请尝试将行返回包含在您希望在应用样式的范围内居中的行周围。

我没有尝试更改段落样式的经验,但我认为我应该尝试更广泛的范围。你现在用的是什么范围?是否包括结束该行的换行符?它包括开始生产线的生产线退货吗?也许只是试着在前后加入一些字符。如果仍然不起作用,请尝试执行整个字符串,以验证它是否能够识别
NSTextAlignmentCenter
。(包括生成
lineRange
的代码可能会有帮助。)@ArtOfWarfare谢谢!请将您的评论作为答案发布,以便我可以接受。扩展
lineRange
以在要居中的行之前包含换行符(即在开头添加一个额外字符)修复了该问题。很高兴听到我的帮助。这是我第一次看到StackOverflow的头版,看到了一些我都可以帮助但还没有人回答的东西。