首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将NSMutableParagraphStyle应用于新NSRange失败

尝试将NSMutableParagraphStyle应用于新NSRange失败
EN

Stack Overflow用户
提问于 2010-08-05 23:12:01
回答 1查看 1.1K关注 0票数 0

全,

我正在调整一个NSTextView,使其基本上支持样板文本的插入和缩进。我遇到了一个问题,在我从编辑的范围中删除样板缩进样式后,样板文本的缩进应用于非样板文本(当用户按enter时,我删除了该样式)。这就是事情变得奇怪的地方:

在编辑器中显示文本标尺时,我看到了更改缩进的行为。输入return键后,我运行以下代码:

代码语言:javascript
复制
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
[style setTabStops: [NSArray array]];
[style setHeadIndent:0];
[style setFirstLineHeadIndent:0];
NSRange effectiveRange = [textView rangeForUserTextChange];
[self applyStyleToRange:effectiveRange style:style];
[style release];

最初,这是有效的,但如果我将光标向上移动到这一新行上方的缩进文本,当我将光标向下移动到回车符创建的新行时,制表位将重新出现,并且不会消失。在我看来,上一段的风格正在应用于新的段落。

我在网上放了一段视频(30秒1.3MB),显示了这个问题:

http://gordonjl.com/files/indentingProblem%20-%20Computer.m4v

另外:是的,这是一种可怕的方式,但这是这个版本的最后一个bug,我必须发布它。在后续版本中,我希望将NSTextViews插入到滚动区域中,并以更明确的方式对其进行管理。在此之前,请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2010-08-18 09:15:49

我真的不理解你的目标,但是顺便说一句,如果你在设置段落属性,你可能会想要使用rangeForUserParagraphChange。如果光标位于textStorage的末尾,则必须设置文本视图的typingAttributes,因为将属性应用于空范围是没有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3416183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档