以编程方式将NSScrollView内容滚动到特定点

时间:2013-08-15 07:31:45

标签: objective-c macos cocoa nsview nsscrollview

好吧,这件事一直困扰着我。

我有NSScrollView(X = 258,Y = 322,W = 516,H = 653) 有一个视图(X = -283,Y = -215,W = 1800 H = 1800),我拼命想让它滚动到左上角

我已经尝试[[_previewScrollView contentView] scrollToPoint:NSMakePoint(0,0)];,但没有帮助。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

将内部视图置于X = 0,Y = 0或执行scrollToPoint:NSMakePoint(-283, -215)。子视图需要一个相对坐标。

另外,你确定你的滚动视图的IBOutlet不是零吗?

答案 1 :(得分:-1)

尝试设置正确的contentSize

[_previewScrollView.documentView setFrame: NSMakeRect(0,0,1800, 1800)];

我用来滚动到顶部的代码:

[_previewScrollView.contentView scrollToPoint:NSMakePoint(0, ((NSView*)_previewScrollView.documentView).frame.size.height - _previewScrollView.contentSize.height)];