Are you allowed to push a view controller onto a navigation controller which is hidden by something modal and has had its top level VCs view removed? If I was doing that and getting what you're getting I would suspect that and change it so that either
1 the new view controller is pushed by the viewDidDisappear of the dismissed modal one or 2 knowing the view is just about to be rebuilt, override the memory warning handling not to dump the views, at least to that first level. I would certainly have tried those as a first debugging step. On 5 Mar, 2012, at 9:39, G S <stokest...@gmail.com> wrote: >> >> In the vast majority of cases where I've seen this behavior, it is because >> in your delegate handler for the UIImagePickerController, you assign the >> returned image directly to a UIImageView that you have in your view >> hierarchy. If you've recently gotten a memory warning, then this image view >> is either nil, or will be released very soon, and you will end up with a >> view that has no image. >> > > Thanks for that observation, David. But the entire screen is white; > there's not even the status bar visible. Our app doesn't have any > full-screen UIImageView. The only one involved in this process is confined > to part of the screen. > > I wonder if there's a bug somewhere that's revealed by our particular > scenario, which consists of these steps: > > 1. We're on the root view of our tab (the root view of the navigation > controller that lives on this tab). It shows a UIListView of items. > > 2. The user opts to create a new item, so we display a modal item-creation > screen that subsequently brings up (and handles the dismissal of) the photo > picker. While this is up, memory warnings often occur. > > 3. After the user completes the item-creation process, our modal > item-creation controller calls its delegate (the original list screen) to > say it's done. > > 4. The delegate creates an item-detail view for the new item, and pushes it > onto the navigation stack (behind the modal view). It then dismisses the > modal view, which should reveal the newly created detail screen. This > works fine, unless a memory warning happened; in that case only a white > screen is revealed and the app essentially hangs because the user can't > interact with it. > > What we know from logging is that (in the memory-warning case) > > 1. The detail screen's view is loaded from the XIB, but its viewWillAppear > method is never called. > 2. The tab's root view (the list) is unloaded, and its viewWillAppear > method is never called. > > But our modal view's viewWillDisappear method IS called. So no view is > told that it's about to appear when the modal one disappears. > _______________________________________________ > > 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: > https://lists.apple.com/mailman/options/cocoa-dev/rols%40rols.org > > This email sent to r...@rols.org _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com