自由的羽毛 发表于 2025-2-17 16:50:57

IOS开发日志-ios新建项目后-将storyboard去掉,版本调整为IOS13以下

目标IOS版本12,Xcode 16.2,记录ios新建项目后,如何将故事板storyboard和SceneDelegate 文件去掉,调整为代码开发。
https://i-blog.csdnimg.cn/direct/80a1c99f790d4cc7949f205bac662b52.png
创建后的项目中包含SceneDelegate,SceneDelegate 是 iOS 13 引入的类,用于管理应用步伐的生命周期和界面显示。如果开发IOS13以下的项目,必要对SceneDelegate 进行调整。
https://i-blog.csdnimg.cn/direct/9d09b409e69941479d2e1bb28d850f9b.png
调整步调:

将 var window: UIWindow? 复制或者移动到 AppDelegate 当中。
https://i-blog.csdnimg.cn/direct/99f96aad98b74f8986bc58132f148529.png
删除 SceneDelegate
https://i-blog.csdnimg.cn/direct/725f494ee51346829cc4ba5ad06a87a0.png
删除AppDelegate 中标红的代码。
https://i-blog.csdnimg.cn/direct/d27f6428a69d4c2d9d1451558c113412.png
删除 Main.storyboard 。
https://i-blog.csdnimg.cn/direct/38b99c2b07934ff3b0dae2126e6bb652.png
删除 Info.plist 中的标红部门。
https://i-blog.csdnimg.cn/direct/49003e26e3054a77bcfc0a3d6c0fc393.png
设置默认显示的界面
AppDelegate 中添加如下代码。
      // 设置默认显示页面(此处为固定的写法)
      let controller = ViewController()
      self.window = UIWindow(frame: UIScreen.main.bounds)
      window!.rootViewController = controller
      window!.makeKeyAndVisible()
步伐运行后,没有显示赤色背景,并且出现了报错,阐明没有加载到 ViewController ,检查一下。
Thread 1: “Could not find a storyboard named ‘Main’ in bundle NSBundle </Users/dengming/Library/Developer/CoreSimulator/Devices/E911900E-95D7-40F2-BDA0-F7EDCF15F82E/data/Containers/Bundle/Application/D17467AA-3EA9-4577-8B0B-9C16FC6941D9/cmMusic.app> (loaded)”
https://i-blog.csdnimg.cn/direct/eedadb042b6246828e2189d87b3346d0.png
将target中info 中的 Main storyboard file base name 属性值,设置为空。
https://i-blog.csdnimg.cn/direct/1ebcc23df4164dbda7eba25fe9c87522.png
再次运行,已经可以成功加载到 ViewController ,并移除了故事板。
实现效果

https://i-blog.csdnimg.cn/direct/0f906383394c4989988ec6a2231cd75c.png
附:AppDelegate 和 ViewController 代码

//
//ViewController.swift
//cmMusic
//
//Created by deng ming on 2025/2/4.
//
import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view.
      view.backgroundColor = .red   
       // self.view.backgroundColor = .red
    }
}
//
//ViewController.swift
//cmMusic
//
//Created by deng ming on 2025/2/4.
//
import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view.
      view.backgroundColor = .red
       // self.view.backgroundColor = .red
    }
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: IOS开发日志-ios新建项目后-将storyboard去掉,版本调整为IOS13以下