Because you are not showing your secondVC directly, it's ViewDidAppear will be called when it appears in it's parent (the UINavigationController).... which is then animated onto the screen.
You could hook into the UINavigationController's ViewDidAppear and then call the child one (or a similar method) when it gets called... ViewDidAppear might not be a good one for this tho. If you animate it on screen (which you are doing), then it "appears" offscreen, and is then moved, which isn't what you are expecting to happen. The last param of this.NavigationController.PresentViewController(new UINavigationController(secondVC){ ModalTransitionStyle= UIModalTransitionStyle.CoverVertical, }, false,null); which you pass null into is a callback for when the animation has finished. You could do something in there, eg: delegate { secondVC.YoureOnTheScreenNow(); } On 27 March 2013 06:26, c0ld <antonra...@gmail.com> wrote: > I set animated=false in AppDelegate, when i present firstVC. And > ViewDidAppear was called before there view, like in secondVC. I think it > doesn't depend on the order of viewcontrollers. What should I do? > > > > -- > View this message in context: > http://monotouch.2284126.n4.nabble.com/ViewDidAppear-is-called-before-the-view-appear-tp4658184p4658190.html > Sent from the MonoTouch mailing list archive at Nabble.com. > _______________________________________________ > MonoTouch mailing list > MonoTouch@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monotouch -- Nic Wise t. +44 7788 592 806 | @fastchicken b. http://www.fastchicken.co.nz/ _______________________________________________ MonoTouch mailing list MonoTouch@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monotouch