On Thu, Mar 6, 2008 at 2:06 PM, John Stiles <[EMAIL PROTECTED]> wrote: > > Ken Ferry wrote: > On Thu, Mar 6, 2008 at 9:59 AM, John Stiles <[EMAIL PROTECTED]> wrote: > > > On Leopard, this solution works perfectly. I get a chance to update my > view right before it draws, which is exactly what the doctor ordered. > > Any way to get this on Tiger or am I just out of luck? > > Out of luck. Well, you can do the work in -drawRect:, but if any of > the work you do invalidates display, it'll be delicate code (meaning > it may be hard to get it to work right, or relatively fragile between > releases). It might be good to implement a -resolveInvalidatedStuff > method, then call it from both -viewWillDraw and -drawRect:. Then, on > Leopard, you'll never actually be doing any work in drawRect: because > you will have already resolved all state. If it works on Tiger at > that point, great, and if not, any further tricky work you do is > targeting an unchanging OS. Make sense? > > > Hmm. What I'm doing is almost certainly going to invalidate display, so I > am probably just out of luck for Tiger. > > If there was some bulletproof solution that could be made to work under > Tiger, that would have been nice, but it's not a big deal. I don't currently > anticipate this code being used under Tiger. I just like to write things so > that we could use them as far back as reasonably possible, in case plans > change. I guess if that does happen, I can bring back the old code and Tiger > users can live with the controls-changing-after-display behavior that we had > before.
Note that implementing -viewWillDraw won't keep your code from running on Tiger, the method just won't get called. That's what I was getting at with the hybrid drawRect:/viewWillDraw approach. -Ken _______________________________________________ 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]