1

在 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]: unrecognized selector sent to instance 0x1559b2d0

4

1 回答 1

4

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

NSParagraphStyle 是 iOS 6 中的新功能。我不知道对针对旧版本的开发人员有什么建议。

于 2012-09-25T14:53:09.433 回答