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

Reply via email to