作为老iOS程序猿,受不了xid和storyboard页面的大文件,布局麻烦,更喜欢纯代码页面简单灵活,动态修改。开始学习swift了,还是喜欢纯代码页面。并且由于我们程序猿的强迫症,也想第一个页面也是纯代码页面。
经过实践,通过XCode11.2.1创建的swift工程,Launch Screen File不能是原来的LaunchImage.launchimage。那只好采用默认的LaunchScreen.storyboard(LaunchScreen.xib应该也可以)。
想做成首页是纯页面:
1.删除Main.storyboard,SceneDelegate.swift和ViewController.swift文件。
2.在Info.plist文件中删除Main storyboard file base name属性和Application Scene Manifest属性。
3.创建简单首页:HomeViewController.swift。
4.在AppDelegate.swift文件的didFinishLaunchingWithOptions函数中增加页面代码:
self.window = UIWindow.init(frame: UIScreen.main.bounds) let login = UINavigationController.init(rootViewController: HomeViewController()) self.window?.rootViewController = login self.window?.backgroundColor = UIColor.white self.window?.makeKeyAndVisible()
5.注释下面的函数:
// func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { // // Called when a new scene session is being created. // // Use this method to select a configuration to create the new scene with. // return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) // } // // func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) { // // Called when the user discards a scene session. // // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. // // Use this method to release any resources that were specific to the discarded scenes, as they will not return. // }
我就是因为没有把他们报错,瞎折腾了好久。
6.当然在Targets->Build Settings->Swift Language Version设置为Swift5。
工程代码