从 appdelegate 展示一个视图控制器

Posted

技术标签:

【中文标题】从 appdelegate 展示一个视图控制器【英文标题】:Present a view controller from appdelegate 【发布时间】:2015-02-11 21:23:37 【问题描述】:

我没有使用 LaunchScreen.xib 。我正在将情节提要用于启动画面。我正在调用 API 来获取启动图像。我在应用程序委托中这样做。我可以在我的视图控制器上显示图像,但是一旦我显示我的图像,我就无法转到另一个控制器。

这是我在 AppDelegate 中的内容:

-(void)connectionDidFinishLoading:(NSURLConnection *)connection


self.window.frame=CGRectMake(0, 200, 100,30);

[self.window addSubview:[self convertImage: image]];

//upto here everything is fine

//now i am trying to wait for 3 seconds and call another view controller

sleep(3);

ViewController *login=[[ViewController alloc]initWithNibName:@"Login" bundle:nil];
[self presentviewcontroller:....]; // not able to present another controller


【问题讨论】:

【参考方案1】:

你可以使用:

[[self window].rootViewController presentViewController:login animated:YES completion:nil];

【讨论】:

【参考方案2】:

斯威夫特 3

self.window?.rootViewController?.present(viewController, animated: true, completion: nil)

【讨论】:

如何使用 appdelegate 中的 self?

以上是关于从 appdelegate 展示一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 TabBarController => NavbarController 从 Appdelegate 呈现视图控制器

无法从 App Delegate 呈现视图控制器

如何从 Appdelegate 导航到另一个视图控制器

从 AppDelegate 呈现特定的视图控制器

从 appDelegate 转到视图控制器

从 AppDelegate 影响视图