Thank you, Roland, for that thorough explanation. Now I understand what's going on and why. I will write a bug, if only to get the docs improved.
-- Rick On Aug 1, 2011, at 3:38 , Roland King wrote: > > On Aug 1, 2011, at 8:08 AM, Rick Mann wrote: > >> >> On Jul 31, 2011, at 17:04 , Roland King wrote: >> >>> On Aug 1, 2011, at 7:32, Rick Mann <rm...@latencyzero.com> wrote: >>> >>>> >>>> On Jul 31, 2011, at 16:23 , Hunter Hillegas wrote: >>>> >>>>> Are you sure you don't need UIViewAnimationOptionAllowUserInteraction and >>>>> animateWithDuration:delay:options:animations:completion:? >>>> >>>> No, I'm not sure :-) I've never worried about that option before, and >>>> don't know why it would be different from one approach to the other. >>>> >>>> Why do I need it for the block approach and not for the other? >>>> >>>> The docs for UIViewAnimationOptionAllowUserInteraction suggest it's only >>>> necessary for views that are animating that require user interaction; that >>>> is not the case for me. The animating view does not have any user >>>> interaction. It's all the other views in my app that fail to respond. >>>> >>>> -- >>>> Rick >>>> >>>>> >>> >>> You need it. >> >> Why do I need it? That doesn't seem to be what the docs say. > > The docs aren't wonderful on that point I'd agree, you can read 'views' in > the description of the flag a variety of different ways and I would suggest > requesting a doc change clarifying it. However since that method was > introduced as far as I know it's always worked that way and has disabled all > user interaction on all views in your application during an animation. So if > you want any user interaction when using that method, you need the flag. > >> >> Is it a bug? Why would iOS have a default mode that stops all user >> interaction if anything is animating? > > I don't think it's a bug, it's a choice. Having user interaction disabled > when view animations are going on is something I could certainly see as a > useful option. Whether it makes sense to have had this as the default option > or not is definitely open to debate, and there have been comments suggesting > apple might change it, but it would probably be rather hard to do that now so > we may well be stuck with it as it is. > >> > >> And why does it work fine with the older way of doing it? > > The older way of doing it didn't have an option for disabling all view > interaction so that had to work that way. I don't see anywhere in the > documentation which says the new call with default arguments is a drop-in > replacement for the old method and Apple chose the default behavior they > wanted for the new API point. Again it's debatable what the smartest default > would have been, I would have thought that doing the thing closest to what > the old method did would be .. but Apple clearly didn't. > > You could certainly file it as a bug, be interesting if it came back as > 'works as designed' or 'dupe', but I don't quite know how Apple could change > this default behavior without breaking a lot of code. > >> -- >> Rick >> > _______________________________________________ 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