NSScroll视图中的contentsize和contentOffset等效项

时间:2010-08-11 11:52:26

标签: ios iphone macos uiscrollview nsscrollview

我正在将应用程序从Ipad移植到mac。 (我知道这听起来很奇怪)

我坚持使用NSScrollview。请在NSScrollview中指导contentize,contentOffset等效。

3 个答案:

答案 0 :(得分:45)

UIScrollView* uiScroll;
uiScroll.contentSize;
uiScroll.contentOffset;
uiScroll.contentSize = CGSizeMake(w,h);
uiScroll.contentOffset = CGPointMake(x,y);

=

NSScrollView* nsScroll;
nsScroll.documentView.frame.size;
nsScroll.documentVisibleRect.origin;
nsScroll.documentView.frameSize = NSMakeSize(w,h);
[nsScroll.documentView scrollPoint:NSMakePoint(x,y)];

编辑:现代化语法

答案 1 :(得分:0)

除了来自@aepryus的行之外,还有一些更有用的行来获取/设置macOS上的滚动偏移量:

//Get the current scroll offset:
_contentViewOffset = scrollView.contentView.bounds.origin;

//Set the scroll offset from the retrieved point:
NSPoint scrollPoint = [scrollView.contentView convertPoint:_contentViewOffset toView:scrollView.documentView];
[scrollView.documentView scrollPoint:scrollPoint];

答案 2 :(得分:-2)

您需要了解的有关NSScrollView的所有信息均在文档中提供的Scroll View Programming Guide for Cocoa中列出。

虽然似乎没有直接的等价物,UIScrollView的{​​{1}}可以比作contentSize的{​​{1}}的大小,这是可滚动内容以NSScrollView提供给documentView NSView

NSScrollView可以与setDocumentView:的{​​{1}}进行比较,setContentOffset:使用NSView来指定scrollPoint:NSPoint内的偏移量}。

请参阅文档以了解详细说明和代码示例。