删除Main storyboard,并解决启动黑屏问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 15:22   35   0

前置说明:【Xcode 12.1,使用Swift或者OC创建工程】

目标:删除Main storyboard,并解决启动黑屏问题

1,删除Main storyboard文件;

2,项目配置里General-->Main Interface 置空;

3,工程里包含了SceneDelegate文件,AppDelegate文件中的window属性放到了SceneDelegate中,交给SceneDelegate来管理window。SceneDelegate文件是为了实现iPadOS支持多窗口的结果,目前iPhone暂不支持多窗口,故先删除此文件。

4,在info.plist文件中删除Application scene mainfest;

5,在AppDelegate文件中删除与UISceneSession相关的两个方法;

6,在AppDelegate文件中增加window属性。

7,代码如下:

class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

// Override point for customization after application launch.

window = UIWindow(frame: UIScreen.main.bounds)

window?.backgroundColor = .white

window?.rootViewController = HRootViewController()

window?.makeKeyAndVisible()

return true

}

}

8,HRootViewController就是自定义的VC,可以从此VC展开你的项目代码编写。

9,以上为swift里的处理方式,对于OC同样适用,只是代码部分需要将window属性添加在AppDelegate文件的.h文件下。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

HRootViewController *rootVC = [[HRootViewController alloc] init];

CGRect rcScreen = [[UIScreen mainScreen] bounds];

self.window = [[UIWindow alloc] initWithFrame:rcScreen];

self.window.rootViewController = rootVC;

[self.window makeKeyAndVisible];

return YES;

}

10,AppDelegate里的生命周期方法也可以在需要时增加回来。

#pragma mark - 生命周期

- (void)applicationWillEnterForeground:(UIApplication *)application{

NSLog(@"状态** 将要进入前台");

}

- (void)applicationDidBecomeActive:(UIApplication *)application{

NSLog(@"状态** 已经活跃");

}

- (void)applicationWillResignActive:(UIApplication *)application{

NSLog(@"状态** 将要进入后台");

}

- (void)applicationDidEnterBackground:(UIApplication *)application{

NSLog(@"状态** 已经进入后台");

}

- (void)applicationWillTerminate:(UIApplication *)application{

NSLog(@"状态** 将要退出程序”);

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP