我正在开发一个小型OS X应用程序,它由两个NSTextView对象组成,每个对象都由NSScrollView包装。
我按照Apple Mac开发人员库(https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/NSScrollViewGuide/Articles/SynchroScroll.html)
中提到的步骤进行操作似乎工作......好吧,至少当用户通过执行通常的滚动手势手动滚动时。但是当用户在NSTextView中输入大量文本导致ScrollView向下滚动时,同步滚动似乎不起作用。
同步(因此正在聆听)滚动视图向下滚动片刻,然后跳回文本视图的顶部。
有没有人知道为什么会发生这种情况?
答案 0 :(得分:0)
我找到了解决方案。
当以编程方式更改TextView的字符串值(位于同步的ScrollView中)时,似乎会出现此问题。
一旦我更改了字符串值,我就添加了[self synchronizedViewContentBoundsDidChange:nil];
之类的调用,这样就可以了。
当我现在向原始文本视图中添加新行时,这会导致滚动视图向下滚动,同步滚动视图会正确滚动。