Re: Large over 100K pixel high ruler scroll view
Re: Large over 100K pixel high ruler scroll view
- Subject: Re: Large over 100K pixel high ruler scroll view
- From: Julie Porter <email@hidden>
- Date: Mon, 29 Aug 2011 19:54:30 -0700
On 8/29/11 7:29 PM, Graham Cox wrote:
Use Interface Builder to set up/design your interface.
Add a custom NSView, set its class to your subclass. Place it inside a standard NSScrollView. In the -awakeFromNib method of the custom NSView subclass, set the frame size to what you need. The standard NSScrollView will cope, you do not need to subclass NSScrollView (the scrollview doesn't display your content directly, it it is merely a container for another view that does display your content).
That's the essence of it. But in practice you'll probably want to have a NSDocument representing this file, in which case it is responsible for opening the file, working out the size and setting the view size as needed.
I already have the NSDocument.m which loads the array of dictionaries
from the file. Do I place the awakefrom nib in that set of class
files, or would they go into the file that I would derive from NSView
called cisView.m?
Do I need to set up accessors between the myDocument and cisView class
files or do they inherit from each other?
The custom NSView subclass is what is going to do the real work. In the -drawRect: method, which you're obliged to override, you are passed a "dirty rectangle". Using that rectangle, which is relative to the view's bounds, which in turn is the size of the total size you calculated from your file, you can work out what lines it is needing to redraw. Perform that calculation and request the data from the file. You'll need various lines of communication between your document and view (the document is the data model) which you can easily establish using outlets.
This is the part I already understand, but am unclear how to get to set
up the init and awake overrides to get the 'dirty rectangle' I want. I
think you have pointed me in the right direction.
-julie
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden