As is the case with all NSViews, the frame of the view defines the area occupied by the view in its superview's coordinate system. The bounds of a view defines that view's own coordinate system irrespective of the frame. Therefore, if the frame size and bounds size for a particular view are different, that implies a scaling of the view's coordinate system. If the frame and bounds origins are different, that implies a translation of the view's coordinate system. Of course, a view can also use an arbitrary affine transform matrix to implement rotation, scale, translation, and skew to almost any extent. In the case of a scrollview, the sliders are positioned and sized based on the frame of the enclosed clipview relative to the bounds of the scrollview. The clipview automatically increases its own frame to completely enclose the frame of the document view. You can do anything you want to the bounds of the document view without any effect on the clipview EXCEPT for the small fact that by default, setting the bounds of a view also resets the frame. I don't know why; that's probably convenient in some cases. I sometimes do the following to circumvent that: NSRect oldFrame = [self frame]; [self setBounds:someRect]; // set a different bounds [self setFrame:oldFrame]; // restore old frame so bounds and frame have different size See http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaViewsGuide/Coordinates/chapter_3_section_3.html#//apple_ref/doc/uid/TP40002978-CH10-SW9 http://developer.apple.com/documentation/Cocoa/Conceptual/NSScrollViewGuide/Articles/Introduction.html _______________________________________________
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 [EMAIL PROTECTED]