封闭滚动视图的NSTextView在空格键上跳转

时间:2011-07-23 22:16:49

标签: objective-c cocoa nstextview nsattributedstring nsscanner

我的应用程序有一种奇怪的行为,我不知道它来自哪里。我已经为一个非常好用的文本视图内容实现了一个NSScanner。扫描程序与文本存储结合使用,通过文本视图委托方法在文本存储字符串上设置属性。但是,每次进入空格时,封闭滚动视图都会向后滚动到文本视图的顶部。任何人都可以给我一个提示吗?

2 个答案:

答案 0 :(得分:2)

对于那些比我更有经验的人来说可能没什么麻烦,我发现了这种行为的可能原因(见上文)所以我在这里发布以防万一有人会寻找类似“问题”的解决方案。似乎关闭NSTextView的XCode 4.x属性检查器中的“非连续布局”选项将解决问题。 NSLayoutManager的文档提供了更多线索(在“概述”部分下):“非连续布局是Mac OS X v10.5中新增的可选布局管理器行为......”

当检查非连续选项时(默认情况下),也许比我更有经验的人会提供更多关于此信息以及封闭滚动条视图行为的原因。(/ p>

答案 1 :(得分:0)

我遇到了同样的问题并且关闭“非连续布局”确实解决了问题,但它引发了另一个问题,即NSTextView对于10k行文本变得缓慢。 A similar question的答案有所不同,但我想知道它是否有效。该解决方案还强加了一些可能不适用于您的限制。