Cocoa NSScrollview scrollPoint不滚动到点

Cocoa NSScrollview scrollPoint不滚动到点,cocoa,scroll,nsscrollview,Cocoa,Scroll,Nsscrollview,我现在花了两个小时来让我的scrollview滚动一个特定的点。它令人沮丧,我不能告诉你为什么它不起作用 我有一个滚动视图,其中有一个滚动视图。 它们是在我的滚动点之前在我的AppDelegate中创建的 但不是 [myclipview scrollPoint:NSMakePoint(1000.0, 0.0)]; 也不管用 [[self.scrollView documentView] scrollPoint:NSMakePoint(1000.0, 0.0)]; (我希望它一直向右滚动,但不

我现在花了两个小时来让我的scrollview滚动一个特定的点。它令人沮丧,我不能告诉你为什么它不起作用

我有一个滚动视图,其中有一个滚动视图。 它们是在我的滚动点之前在我的AppDelegate中创建的

但不是

[myclipview scrollPoint:NSMakePoint(1000.0, 0.0)];
也不管用

[[self.scrollView documentView] scrollPoint:NSMakePoint(1000.0, 0.0)];
(我希望它一直向右滚动,但不要使用任何翻转方法或其他方式。)

我发现了这个问题

并且没有帮助我,我也没有在loadView方法中尝试它。scrollView和myclipview也不是零。有给我的建议吗?scrollview工作正常,只是它不会滚动到我的位置

编辑

作为舒尔,我做了一个小测试项目:

NSScrollView* myscrollview = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, 0, 200, 200)];
NSClipView* myclipview = [[NSClipView alloc] initWithFrame:NSMakeRect(0, 0, 500, 400)];
[myscrollview setHasVerticalScroller:YES];
[myscrollview setHasHorizontalScroller:YES];
[myscrollview setDocumentView:myclipview];

[[myscrollview documentView] scrollPoint:NSMakePoint(400, 300)];

[self.window.contentView addSubview:myscrollview];

而且它不会滚动到任何地方,我想我在这里遗漏了一些东西…?

这个小测试项目需要用以下方式更改。 我已经试过了,而且似乎很有效。如果你还有任何问题,一定要告诉我

希望这能解决问题:)


作为舒尔,我做了一个小测试项目:我认为您需要为NSScrollView实例的documentView设置框架,尤其是高度。@PatrickTescher在iOS之外没有“setContentOffset”。问题是关于“NSScrollView”而不是“UIScrollView”嘿,谢谢!但是我已经试过scrollToPoint了,它做了不同的事情。它在该位置启动scrollview。但我无法滚动到从该点“左”的区域。我想把滚动条放到另一个点上,而不是滚动视图的边界。我需要的函数应该是scrollPoint,但我不知道它为什么不起作用//值的递增取决于您的要求。x的递增将向右移动滚动条,x的递减将向左移动滚动条。CGPoint setOrigin=CGPointMake(newscrolorigin.x+400.0f,newscrolorigin.y-120.0f)//设置滚动点[[myscrollview contentView]滚动点:setOrigin];
   NSScrollView* myscrollview = [[NSScrollView alloc] initWithFrame:NSMakeRect(10.0f, 100.0f, 200, 200)];
    NSClipView* myclipview = [[NSClipView alloc] initWithFrame:NSMakeRect(10.0f, 100.0f, 500, 400)];
    [myscrollview setHasVerticalScroller:YES];
    [myscrollview setHasHorizontalScroller:YES];
    [myscrollview setDocumentView:myclipview];

    [self.window.contentView addSubview:myscrollview];


    //******** Code Changes from here**********
    //This Calculation needs to be done 
    CGPoint newScrollOrigin=NSMakePoint(0.0,NSMaxY([[myscrollview documentView] frame])
                                -NSHeight([[myscrollview contentView] bounds]));

    //Increment/Decrement in x of newScrollOrigin will move the scroll position horizontally
    //Increment/Decrement in y of newScrollOrigin will move the scroll position vertically.

    //Incrementation of Values depends on your requirement.
    CGPoint setOrigin = CGPointMake(newScrollOrigin.x , newScrollOrigin.y - 120.0f);

    //Set the Scroll Point
    [[myscrollview contentView] scrollToPoint:setOrigin];