I am porting an app from Ipad to mac. (I know that it sounds weird)
I stuck with NSScrollview. Please guide me contentsize , contentOffset equivalent in NSScrollvi
Everything you need to know about NSScrollView
is laid out in the Scroll View Programming Guide for Cocoa provided in the documentation.
Although it doesn't appear that there's a direct equivalent, UIScrollView
's contentSize
can be likened to the size of NSScrollView
's documentView
, which is the scrollable content provided as an NSView
to NSScrollView
with setDocumentView:
.
setContentOffset:
can be compared to NSView
's scrollPoint:
, which uses an NSPoint
to specify the offset of the documentView
within the NSScrollView
.
See the documentation for elaboration and code examples.
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)];
Edit: modernized the syntax
In addition to the lines from @aepryus, here are a couple more useful lines for getting/setting the scroll offset on 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];