ios - 使用CoreText将丰富的UITextView中的文本对齐段落?

标签 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

最佳答案

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

NSParagraphStyle在6中是iOS的新功能。我不知道对面向较早版本的开发人员有何建议。

关于ios - 使用CoreText将丰富的UITextView中的文本对齐段落?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12583634/

相关文章:

iOS UITextView 无序/有序列表,如 Notes App

ios - 使用 Core Text 布置单个字形

ios - 将结构与 NSMutableArray 一起使用

ios - UICollectionView 重叠单元格

ios - 应该 [UIView endEditing :YES] ever return no?

ios - 键盘在 UIViewController Xamarin IOS 中隐藏 UITextView

ios - iOS 的类似卡拉 OK 的进度突出显示

ios - 获取另一个 UIView 下的 UIView

ios - 使旧的 Xcode 项目与 iPhone 6/6+ 兼容

ios - 根据内容增加 UITextView 的高度