纯代码构建Swift工程

2023-11-15

有些东西很简单,但是我还是把它记录了下来。

使用Storyboard创建一个新的项目后,应用程序从闪屏,到主窗口,再到第一个界面经过的文件分别是:LaunchScreen.storyboard->Main.storyboard->ViewController。

如果我们要纯代码构建一个应用程序,即上述步骤我们通过代码来控制的话,需要删除Main.storyboard,并修改相关配置,添加一些代码。

LaunchScreen.storyboard作为对闪屏的处理,这个不需要删除,系统提供的闪屏解决方案使用这个文件处理即可。

  1. 删除Main.storyboard

delete -> Move to Trash,直接删除Main.storyboard文件。

  1. 修改Main Interface配置

TARGETS->General->Development Info->Main Interface

清空Main Interface内容。

  1. 修改info.plist配置
    在这里插入图片描述
    删除Storyboard Name这一项。

  2. 添加代码构应用程序窗口

SceneDelegate作为管理应用程序界面的类,在这个类里面我们需要创建一个主窗口(Window),用来显示应用程序

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
    // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
    // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
    
    self.window = UIWindow(windowScene: scene as! UIWindowScene);
    self.window?.backgroundColor = UIColor.white;
    let rootViewController = ViewController();
    self.window?.rootViewController = rootViewController;
    self.window?.makeKeyAndVisible();
    
    guard let _ = (scene as? UIWindowScene) else { return }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纯代码构建Swift工程 的相关文章

随机推荐

  • Sentinel 原理讲解

    Blog Posts Sentinel 为 Dubbo 服务保驾护航 by Eric Zhao 在生产环境中使用 Sentinel 控制台 by Eric Zhao Sentinel 与 Hystrix 的对比 by Eric Zhao G
  • 基于51单片机的停车场车位管理系统

    具体实现功能 由AT89S52单片机 AT24C02数据存储模块 按键模块 LCD1602显示 报警模块等构成 具体功能 1 显示停车场现有车辆数和已停放过车辆数 总共16个车位 指示灯指示具体的车位占用情况 2 可以手动设置总车位数以及剩
  • 回归算法-概述

    回归算法 概述 Regression Algorithms Overview 回归概论 Introduction to Regression Regression is another important and broadly used
  • Upload-labs文件上传漏洞(空格绕过)——Pass06

    0 00 题目描述 似乎可以使用Pass04文件改写 但是感觉应该不会那么简单 0 01 源码分析 is upload false msg null if isset POST submit if file exists UPLOAD PA
  • jsPDF(高清),html导出多页pdf(分享)

    前言 遇到在html导出PDF的需求 在csdn找了很多关于PDF导出功能的文章 介绍了jsPDF iText和wkhtmltopdf三种方式 其中iText的使用对于中文还需要导入特定字体包 wkhtmltopdf需要配置服务器环境 综合
  • 程序员绩效总结_华为的研发人员薪酬体系你学不会,不如这4种绩效模式

    最近 不少研发型企业的学员咨询我们 研发人员的薪酬绩效体系怎么做 今天我简单为大家介绍一下具体的操作方式 提到研发人员薪酬绩效体系 绕不开中国一个响当当的高科技企业 华为 华为的工资体系是怎样的 华为的研发团队组织结构发生过两次重大调整 从
  • 【详解】指针与函数传参——多图、多例子(c语言)

    前言 在用c语言实现链表时 会有很多朋友无法理解明明传了指针到函数中 函数中对指针改变却无法影响原函数中指针的位置 事实上 这是因为你对形参和实参的关系理解还不够透彻 通过这篇文章 我将告诉你指针传参时 函数的形参到底该选择怎样的类型接收
  • jquery——zTree, 完美好用的树插件

  • 记一次udp服务性能优化经历

    目录 概述 磁盘io 网络io 减少重复计算 减少内存复制 减少互斥锁 概述 手上有个go项目 接收udp信息 主要是syslog和snmp trap 并查询设备信息 将信息结构化 设备ip名称 匹配了什么规则之类的 后发送到kafka和e
  • 哈夫曼编码的实现

    2 哈夫曼编码的实现 对教材P167中习题5 18 编码实现哈夫曼编码树 并对 Chapter Graphs surveys the most important graph processing problems including de
  • org.hibernate.UnknownEntityTypeException: Unable to locate persister:xxx类

    看了网上其他人的解决办法 发现出现的错误跟我的并不相同 基本就是没有引入映射文件 或者映射文件路径错误 我的错误是抽取了一个公共的dao 其中 get方法应该传入get x class id 而我写入的是类名 所以运行时总是提示找不到这个类
  • 51单片机学习笔记-12LCD1602液晶屏

    12 LCD1602液晶屏 toc 注 笔记主要参考B站江科大自化协教学视频 51单片机入门教程 2020版 程序全程纯手打 从零开始入门 注 工程及代码文件放在了本人的Github仓库 12 1 LCD1602介绍 LCD1602 Liq
  • ArcSDE 日志文件表(二)

    基于会话的或独立的日志文件组成的池 Pools of log file tables 以下为ArcGIS10 1中文帮助 归地理数据库管理员所有的日志文件池 地理数据库管理员可以创建可由其他用户检出和使用的日志文件池 这些日志文件可以是基于
  • spark性能优化调优指导性文件

    1 让我们看一下前面的核心参数设置 num executors 10 20 executor cores 1 2 executor memory 10 20 driver memory 20 spark default parallelis
  • Linux常用命令与JavaWeb开发环境的搭建

    文章目录 前言 一 系统信息以及查看文件 1 1系统信息 1 2查看文件 二 查看进程和防火墙的开关 三 搭建Java Web开发环境 3 1JDK 3 2Tomcat 3 3Mysql 总结 前言 Linux 特点 免费 开源 免费 安全
  • 继电器驱动电路原理及注意事项

    继电器驱动电流一般需要20 40mA或更大 线圈电阻100 200欧姆 因此要加驱动电路 1 晶体管用来驱动继电器 必须将晶体管的发射极接地 具体电路如下 NPN晶体管 PNP晶体管 NPN晶体管驱动时 当晶体管T1基极被输入高电平时 晶体
  • 导入数据的几种方法

    采用标准python类库导入数据 读取文件 from csv import reader import numpy as np filename pima csv with open filename rt as raw data read
  • centOS7服务器搭建

    一 安装jdk 运行代码 yum search jdk 1 查询当前云服务器里面通过yum可以安装哪些jdk 以这个jdk1 8的版本为例 运行代码 yum y install java 1 8 0 openjdk 2 安装jdk1 8版本
  • obj(判断对象中是否包含某个key属性)

    key in obj 不包含 obj hasOwnProperty key 包含
  • 纯代码构建Swift工程

    有些东西很简单 但是我还是把它记录了下来 使用Storyboard创建一个新的项目后 应用程序从闪屏 到主窗口 再到第一个界面经过的文件分别是 LaunchScreen storyboard gt Main storyboard gt Vi