Thank you Kyle. I'm taking a look at the layout. I have a question. I don't need to auto-align the NSView. I need to let the user enter origin and size of the view (excluding the shadow and frame) and get the view on those coordinates and size.
Let's say I learn how to configure the layout with e.g. setTranslatesAutoresizingMaskIntoConstraints, alignmentRectInsets, alignmentRectForFrame, frameForAlignmentRect and such... Then which properties should I bind to the NSStepper and NSTextFields on the UI in order to place the view with the right origin and size? Regards -- Leonardo > Da: Kyle Sluder <k...@ksluder.com> > Data: Thu, 05 Dec 2013 16:12:16 -0800 > A: Leonardo <mac.iphone....@gmail.com>, <cocoa-dev@lists.apple.com> > Oggetto: Re: wantsDefaultClipping set to NO > > On Thu, Dec 5, 2013, at 01:03 PM, Leonardo wrote: >> I have to draw a NSShadow out of my NSViews' bounds. >> So I overrided the wantsDefaultClipping methond returning NO. > > You can't do this. Drawing outside of your view's bounds isn't > supported. (More specifically, you must not draw outside of the rects > returned by -getRectsBeingDrawn:count:). > > If your view ever becomes layer-backed (which is not a state you can > entirely control), it won't necessarily be drawing to a backing store > larger than its bounds. > >> A) What's the purpose of the wantsDefaultClipping method? > > As per the View Programming Guide[1], it exists to avoid duplicating any > work you're already doing in order to restrict your drawing within the > valid drawable regions. > > [1] > <https://developer.apple.com/library/mac/documentation/cocoa/conceptual/CocoaV > iewsGuide/Optimizing/Optimizing.html> > >> C) Or should I simply enlarge the view to draw the shadow? If so, I have > > This is the correct approach. > >> to >> change the origin and size of the view. Therefore, how can I adjust the >> origin and size that the user enters on UI with the bound values I use in >> the setFrameOrigin and setFrameSize ? > > You don't. Stop using -setFrame{,Origin,Size}: directly and start using > auto layout. You can override -alignmentRectInsets to return the amount > of padding on each side of your view, giving you enough room to draw > your shadow. > > --Kyle Sluder _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com