问题
I am in the appdelegate of my application. How can I add a modal view controller in the "didfinishlaunching" method?
I tried the following but did not work
SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.navigationController presentModalViewController:vc animated:NO];
EDIT: I changed my implementation to the following
self.tabController.selectedViewController
= [self.tabController.viewControllers objectAtIndex:0];
SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.selectedViewController presentModalViewController:vc animated:NO];
I checked that the 'selected view controller' is not null... however I am still not able to get the output I needed. Is there anything I am missing?
回答1:
Assuming tabController and navigationController are not nil, the applicationDidFinishLaunching may be too soon to display the modal view controller.
- Make sure you put that code after you make the window key and visible.
[self.window makeKeyAndVisible];
- If that does not work try listening for the
UIWindowDidBecomeKeyNotification
for that window - You can try delaying presentation of that modal a few seconds using performSelector:withObject:afterDelay:
来源:https://stackoverflow.com/questions/7067443/objective-c-how-to-present-modal-view-controller-from-appdelegate