我创建了一个仅在我的应用首次启动时出现的屏幕; 它很棒.但是,我想在我的根视图控制器上以模态方式显示此屏幕(EditorsNoteViewController是我想在首次启动时以模态方式呈现的屏幕).有谁知道我会怎么做?这是我到目前为止:
Appdelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
NSLog(@"not first launch");
self.viewController = [[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"articlesNav"];
self.window.rootViewController = self.viewController;
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
self.viewController = [[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"articlesNav"];
self.window.rootViewController = self.viewController;
EditorsNoteViewController *vc = [[EditorsNoteViewController alloc]init];
[self.viewController.navigationController presentViewController:vc animated:YES completion:nil];
}
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
小智 0
假设您已经在故事板中创建了 EditorsNoteViewController,您应该像这样初始化它:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
EditorsNoteViewController *vc = (EditorsNoteViewController*)[storyboard instantiateViewControllerWithIdentifier:@"EditorsNoteOrWhateverIdentifierYouChose"];
Run Code Online (Sandbox Code Playgroud)
尝试检查 RootViewController -viewDidLoad 中的 NSUserDefaults,如果是第一次,请在那里显示新的 UIViewController (这样您就不需要弄乱您的 AppDelegate)。
如果你想以动画方式呈现它,你可以在 -viewDidAppear 而不是 -viewDidLoad 中进行。
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |