Cocoa NSScrollview scrollPoint不滚动到点
我现在花了两个小时来让我的scrollview滚动一个特定的点。它令人沮丧,我不能告诉你为什么它不起作用 我有一个滚动视图,其中有一个滚动视图。 它们是在我的滚动点之前在我的AppDelegate中创建的 但不是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)]; (我希望它一直向右滚动,但不
[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];