我在一个自定义的NSScrollView
子类中嵌入了一个NSTableView
,在这个子类中我有时会以编程方式进行滚动,如下所示:
[[self contentView] scrollToPoint:newOffset];
[self reflectScrolledClipView:[self contentView]];
当我这样做时,NSTableView
滚动得很好,但是它关联的NSTableHeaderView
不会随之移动。但是,如果我使用鼠标并正常滚动NSScrollView
,它们就会像应有的那样一起移动。
我想我可能只是漏掉了一行让NSTableHeaderView
知道它也应该滚动的行,但我不知道那是什么。有人能帮上忙吗?
发布于 2011-06-09 00:13:01
嗯,我不知道当你用鼠标滚动一个包含NSTableHeaderView
的NSScrollView
时,引擎盖下到底发生了什么黑魔法,但看起来它在内部的某个地方处理了这个问题。为了避免这个问题,我现在只需编程地滚动NSTableView
(通过覆盖处理用户输入的函数),然后我自己滚动NSTableHeaderView
,如下所示:
NSTableHeader *header = [[self documentView] headerView];
[header setBoundsOrigin:NSMakePoint(newOffset.x,[header bounds].origin.y)];
https://stackoverflow.com/questions/6214885
复制相似问题