我正在将应用程序从Ipad移植到mac。 (我知道这听起来很奇怪)
我坚持使用NSScrollview。请在NSScrollview中指导contentize,contentOffset等效。
答案 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
内的偏移量}。
请参阅文档以了解详细说明和代码示例。