On Wed, Jun 23, 2010 at 10:33 AM, Alexander Cohen <a...@toomuchspace.com> wrote: > I have a view in an NSScrollView's document view that has a small child > window attached to it, meaning the window follows that view wherever it goes. > But when i scroll the scrollview, not much changes for that view. So i'm > wondering if there is anyway to get changes to a views "global" frame. If i'm > missing something obvious, please do tell.
Scroll views (actually, clip views) work by moving their bounds coordinate system. When AppKit draws the view hierarchy, it applies a transform to the current graphics context that is based on the bounds coordinate system of the view being drawn; this is how you can draw at (0,0) in your -drawRect: and have it appear at the right point in the superview. Likewise, as AppKit finishes drawing a view, it pops these transforms off the stack. By the time your overlay window draws, it's in another window entirely, so it has an entirely different transform stack—notably one lacking the transform the clip view has applied prior to your document view being drawn. Your child window or the content view thereof is going to need to listen for bounds-change notifications from the clip view and set its own bounds coordinate system to match. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com