On Thu, 03 Mar 2011 10:32:18 +0000, Martin Linklater <mslinkla...@gmail.com> 
said:
>Thanks for your replies guys - that makes a lot of sense now

Except that as Robert Vojta told you (and as Luke Hiesterman has clearly stated 
on other occasions) it is wrong to assume that viewDidLoad means that the view 
is now in the *interface*, or even that it is *about* to be put into the 
interface, so it makes no sense to assume that an animation launched from 
viewDidLoad, even with delayed performance, will be seen by the user. It might 
appear to work, but it's still wrong. So this solution is incorrect:

>> On Mar 2, 2011, at 12:42 PM, Andreas Grosam wrote:
>> 
>>> - (void) viewDidLoad {
>>>   [super viewDidLoad];
>>> 
>>>   // Create the button:
>>>   // ...
>>> 
>>>   [self performSelector:@selector(addButtonWithAnimation) withObject:nil 
>>> afterDelay:0.0];
>>> }

The proper way to trigger an animation when the view first appears is in 
viewDidAppear:, using a static variable or instance variable as a flag so that 
this happens only the first time.

See Luke's dictum on the matter in this thread:

http://www.cocoabuilder.com/archive/cocoa/297736-why-can-a-modal-view-controller-present-another-in-viewdidload.html

Note that I suggested delayed performance in viewDidLoad and he slapped me 
around for a while. :) So now I'm warning everyone else! :))

m.

--
matt neuburg, phd = m...@tidbits.com, <http://www.apeth.net/matt/>
A fool + a tool + an autorelease pool = cool!
Programming iOS 4!
http://www.apeth.net/matt/default.html#iosbook_______________________________________________

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