使用CoreText在富UITextView中对齐段落?

时间:2012-09-25 13:07:06

标签: ios uitextview core-text nsattributedstring text-alignment

在iOS 6应用程序中,我将UITextView设置为接受属性字符串。

如何更改段落的文本对齐(左 - 右 - 居中 - 对齐)?

以下代码:

NSMutableAttributedString *mutableAttributeString = [textView.attributedText mutableCopy];

CTTextAlignment alignment = kCTCenterTextAlignment;

CTParagraphStyleSetting settings[] = {kCTParagraphStyleSpecifierAlignment, sizeof(alignment), &alignment};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(settings, sizeof(settings) / sizeof(settings[0]));
CFAttributedStringSetAttribute((CFMutableAttributedStringRef)mutableAttributeString, CFRangeMake(0, CFAttributedStringGetLength((CFMutableAttributedStringRef)mutableAttributeString)), kCTParagraphStyleAttributeName, paragraphStyle);
CFRelease(paragraphStyle);

textView.attributedText = mutableAttributeString;

在最后一行崩溃: - [__ NSCFType headIndent]:无法识别的选择器发送到实例0x1559b2d0

1 个答案:

答案 0 :(得分:4)

尝试创建并使用NSParagraphStyle。 (相应地,您还应该使用NSParagraphStyleAttributeName作为属性名称,尽管行为表明名称是相同的。)

NSParagraphStyle是iOS 6中的新手。我不知道针对旧版本的开发者会建议什么。