问题标签 [nsparagraphstyle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1601 浏览

ios - 如何为 NSAttributedString 的不同部分添加不同的行距?

我想让一个 NSAttributedString 包含多条消息。如果一条消息有一个长文本并且它环绕,我希望有一个行间距,比如说,5。因为我有一个包含多条消息的 NSAttributedString,我希望每条消息之间有更大的行间距;比如说20。

我想要的是

“我明白了”是一条信息。“我认为两者都是……”是一条消息,尽管它包含两行,而“像单向聊天一样”是一条消息。

注意第 2 和第 3 之间的行距如何小于第 1 和第 2 以及第 3 和第 4 之间的行距。

我试过的

我在每条消息的末尾附加了一个 \n 并且我尝试使用 NSParagraphStyle 来控制行距,但它似乎是全部或全部:

如果我将行距添加到开头,它将为整个标签设置行距。

(这真的只是我最近的尝试。)

谢谢你的帮助!:)

0 投票
1 回答
570 浏览

ios - 在启用换行模式的情况下,在 NSLayoutManager 中获取正确的字形点

我正在尝试在以下位置获取所选字符的实际点NSTextContainer

它可以正常工作,直到第一个换行符由

每个连字符将索引移动一个点并glyphIndexForPoint得到错误的索引。如何在启用换行模式的情况下获得正确的索引?

0 投票
0 回答
1018 浏览

ios - NSParagraphStyle如何设置每段的最大行数

我正在尝试实现这样的目标(灰色文本始终位于文本视图的底部):

在此处输入图像描述

但是当我将换行模式设置为NSLineBreakByTruncatingTail它时,它只允许每段使用 1 行文本,如下所示:

在此处输入图像描述

我想将第一段截断为最多 2 行,并将灰色文本始终作为文本的最后一行。

0 投票
1 回答
856 浏览

ios - 段落间距和段落间距之前有什么区别?(在 NSMutableParagraphStyle 中)

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMutableParagraphStyle_Class/#//apple_ref/occ/instp/NSMutableParagraphStyle/paragraphSpacing

我已经阅读了这篇文章。

但我不能完全理解。

段落间距和段落间距之前有什么区别?(在 NSMutableParagraphStyle 中)

图片请。

我看不懂英文。。。

网址:这里点击img

段落间距在哪里?

0 投票
3 回答
2174 浏览

ios - 在 UITextView 内画一条线 - NSAttributedString

UITextView我希望在包含一些文本的内部绘制一条可自定义的线(使用NSAttributedString

这是我尝试过的

但是,无论我为制表位位置(在本例中为 40)和 tailIndent(此处为 -16)提供什么值,该行仅尊重 headIndent 并跨越整个 UITextView 宽度(当然减去 headIndent)。

编辑- 我很确定问题是因为我没有使用正确的 unicode 字符(尽管它们似乎是合乎逻辑的选择)。万一这给了某人一个提示,如果我在第二个 nbsp 之后添加一个空格,即接近尾声,则标签限制为单个标签长度

0 投票
1 回答
854 浏览

ios - NSTextView 在使用不同的 NSParagraphStyles 更改属性时更新太慢

我希望 NSTextView 对象通过更改 NSParagraphStyle 间距来对击中的 Tab 键做出反应。它确实如此,但非常慢!!!事实上,如果我这样做太快(按 Tab 键太快),我最终会遇到有时甚至导致崩溃的故障。这是视频:https ://drive.google.com/open?id=0B4aMQXnlIOvCUXNjWTVXVkR3NHc 。还有一个:https ://drive.google.com/open?id=0B4aMQXnlIOvCUDJjSEN0bFdqQXc

我的 NSTextStorage 子类中的代码片段:

我的 NSTextView 子类中的代码片段:

我的 TextController 中创建和应用替代属性的代码片段:

当我按 Tab 键时,Time Profiler 仪器显示一个高峰值。它说每次按 Tab 键时 NSTextStorage attributesAtIndex 最多需要 40 毫秒。

我检查了:如果我删除 NSParagraphStyle 更改,一切都会变得正常。所以问题是:我应该如何更新段落样式?

0 投票
1 回答
745 浏览

ios - NSParagraphStyle中的paragraphSpacingBefore不起作用

NSParagraphStyle 的 paragraphSpacingBefore 属性似乎没有做任何事情。我很确定它在以前的项目中有效,但是在我的旧代码中我看不到与我现在正在做的任何不同。这是我的示例代码:

任何建议将不胜感激。

谢谢。

0 投票
2 回答
2670 浏览

ios - 带有图像附件和 NSTextTab 的 NSAttributedString,文本未对齐

我试图在左侧有一个带有图像和标题的 UIlabel,在右侧有一个带有项目符号的描述列表。

为此,我使用这样的 NSAttributedString :

我希望右侧的列表左对齐,但事实并非如此,这是我得到的结果:

在此处输入图像描述

我期望列表像这样对齐:

在此处输入图像描述

0 投票
0 回答
51 浏览

macos - 当用户编辑文本时,如何设置和维护 NSTextView 中文本子范围的属性?

我想为我的NSTextView. 具体来说,我希望看起来像列表项的行(以零个或多个前导空格字符开头,然后是项目符号字符,然后是空格,然后是非空格字符)来换行,以便第一行之后的行缩进子弹右边的两个空格。

我相信我可以通过NSParagraphStyle在代表列表项的文本子范围上设置一个headIndent计算为适当距离的文本来做到这一点。

除此之外,我不知道如何进行。我在哪里挂钩NSTextView来设置这个?NSParagraphStyle当用户编辑文本时,如何维护(设置、更新或删除)属性和子范围?这样NSTextView可以编辑、复制/粘贴或从文件中读取文本。

是否有一种通用(和高性能)方法可以将属性应用和维护到文本的子范围NSTextView

0 投票
0 回答
178 浏览

swift - 不能同时更改段落属性和字符串属性

我可以让 NSMutableParagraphStyle 行距工作或 NSMutableAttributedString 成为正确的字体、颜色和大小,但我不能同时得到它们。