我正在使用Text Kit在我的应用程序中布局一些自定义文本,我想创建漂亮的列表,并使用正确对齐的枚举器。我需要文字看起来像这样:
粉色线不是所需效果的一部分,而是强调枚举器应如何对齐(即,它们需要右对齐,但左侧的文本仍应左对齐)。
我有列表样式实现吧这个要求(枚举器目前是左对齐的)。我这样做是通过将枚举数添加为字符串,在其后面添加制表符(\t
),并在所需位置添加自定义制表位(NSTextTab
)到{{1} }。通过将NSParagraphStyle
设置为与headIndent
等效的位置来缩进后续行。
有关如何根据需要调整枚举数的想法吗?
答案 0 :(得分:4)
想出来。事实证明,我可以使用NSTextTab
s执行此操作,如下所示:
NSString *enumerator = @"\t\u2022\t"; // Bullet symbol
NSMutableParagraphStyle *enumeratorParagraphStyle = [paragraphStyle mutableCopy];
NSTextTab *enumeratorTabStop = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentRight
location:eMarkdownRendererIndentationPoints
options:nil];
NSTextTab *contentTabStop = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentLeft
location:contentLocation
options:nil];
enumeratorParagraphStyle.tabStops = @[enumeratorTabStop, contentTabStop];
[textStorage appendAttributedString:[[NSAttributedString alloc] initWithString:enumerator
attributes:@{NSParagraphStyleAttributeName: enumeratorParagraphStyle}]];