美文网首页iOS开发
iOS启动后黑屏?添加首页控制器到window上

iOS启动后黑屏?添加首页控制器到window上

作者: 廖小黒 | 来源:发表于2020-11-03 15:02 被阅读0次
pexels-josh-sorenson-1714208.jpg

iOS 启动后黑屏?

分析问题,是否有启动广告?是启动图是黑色?或者引导图?
若都不是,则一般是由于没有添加好首页控制器的原因。
来解决~

添加主控制器

一开始创建好项目时,在模拟器上跑时,默认的首页控制器是ViewController。这时需要我们手动设置自己的控制器。

1、直接删除ViewController.h和 ViewController.m

1604315969519.jpg

这里千万不能手快,直接按了默认的 Remove References,只是不显示在项目中,并没有删除文件,点击 Move to Trash 这才是删除文件。(这里只是提一下,废话而已~)

2、直接删除 SceneDelegate.h 和 SceneDelegate.m

xcode11 以上版本,会默认生成 SceneDelegate.h 和 SceneDelegate.m这两个文件,这个代理文件的功能及其用法这里不涉及,后续我会再发一篇文章来谈谈。

3、创建自己的主控制器(省略...)

4、将主控制器添加到window上

将 window 属性写到 AppDelegate.h中声明。

@property (strong, nonatomic) UIWindow *window;

引入自己的主控制器

#import "HomeViewCtl.h"

删除SceneDelegate相关代理,这里一定要删除,不然就会走这个代理了。


SceneDelegate删除.jpg

添加主控制器添到window上,在 AppDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中添加。

// 设置Widnow的Root控制器
HomeViewCtl *vc = [[HomeViewCtl alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[_window makeKeyAndVisible];
_window.backgroundColor = [UIColor whiteColor];
_window.rootViewController = nav;

上述的写法有很多中,但是大概都是这个样子,如果项目中有其他需求,可以根据实际的需求进行更改,但是必须要设置_window.rootViewController这个不然不会显示。

做完以上步骤,如果 APP 启动后显示黑色界面,我们再来看看这里有没有删除。


1604323904411.jpg

把这个选项删除了,再重新启动,应该就没问题了。

如果能帮到你,我当然高兴啦~~

相关文章

网友评论

    本文标题:iOS启动后黑屏?添加首页控制器到window上

    本文链接:https://www.haomeiwen.com/subject/hzgbvktx.html