创建 UIKit 项目教程

一、打开 XCode,选择 iOS 下的 App,然后点 Next

二、Interface 选择 Storyboard,然后点 Next

三、删掉 Main.storyboard

四、删掉 SceneDelegate.swift

五、AppDelegate.swift 只保留第一个函数

六、在 AppDelegate.swift 文件里的 application 函数改成这样

class AppDelegate: UIResponder, UIApplicationDelegate {var window: UIWindow?func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {window = UIWindow(frame: UIScreen.main.bounds)window?.rootViewController = ViewController()window?.makeKeyAndVisible()return true}
}

七、删掉在 Info.plist 的 Application Scene Manifest

八、在 building settings 里搜 storyboard,然后把 UIKit Main Storyboard File Base Name 的 "Main" 置空

九、验证

把这段代码复制进 ViewController.swift 中

import UIKitclass ViewController: UIViewController {var label = UILabel()override func viewDidLoad() {super.viewDidLoad()view.backgroundColor = .whiteview.addSubview(label)configLabel()layoutLabel()}func configLabel() {label.text = "Hello UIKit"label.textColor = .blacklabel.font = .systemFont(ofSize: 18)label.textAlignment = .center}func layoutLabel() {label.translatesAutoresizingMaskIntoConstraints = falseNSLayoutConstraint.activate([label.centerXAnchor.constraint(equalTo: view.centerXAnchor),label.centerYAnchor.constraint(equalTo: view.centerYAnchor),label.leadingAnchor.constraint(greaterThanOrEqualTo: view.leadingAnchor, constant: 20),label.trailingAnchor.constraint(lessThanOrEqualTo: view.trailingAnchor, constant: -20)])}
}

会看到如下结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88626.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防爬虫君子协定 Robots.txt 文件

1.什么是robots.txt ? robots.txt是一个位于网站根目录的文本文件,用于指导搜索引擎爬虫如何访问和抓取网站内容。它遵循特定的语法规则,是网站与爬虫通信的重要工具。当搜索引擎访问一个网站时,它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。Robots.…

浅谈 Python 中的 yield——生成器对象与函数调用的区别

我们来看这么一个例子: def greeter():name yield "你是谁?"yield f"你好,{name}"g greeter() print(next(g)) # → "你是谁?" print(g.send("张三")) # → "你好&#xf…

云端docker小知识

1、docker的三个关键概念image、container、dockerfile2、docker的container3、dockerfile4、docker制作image5、linux(ubuntu)安装docker(步骤1和4)6、docker基本命令docker images 查看全部镜像docker rmi -f 1e5f3c5b981a 删除…

【Elasticsearch】昂贵算法与廉价算法

在 Elasticsearch 里,“昂贵”并不单指“CPU 时间”,而是综合了 **CPU、内存、磁盘 I/O、网络传输** 以及 **实现复杂度** 的代价。下面把常见“昂贵算法”拆开说:1. **高计算密度的文本算法** • **match_phrase slop**(带跨距…

深度学习-多分类

​开头摘要​​: 本文将深入探讨如何使用PyTorch实现基于Softmax回归的MNIST手写数字识别系统。从多分类问题的核心概念出发,详细解析​​One-Hot编码​​技术如何将类别标签向量化,剖析​​交叉熵损失函数​​的数学原理及其在训练中的优化机…

JVM 类加载过程

一、加载(Loading)目标:把字节码文件(.class)“读入 JVM”,生成类的 “半成品”(Class 对象)。Bootstrap ClassLoader(启动类加载器):负责加载 JV…

通俗范畴论13 鸡与蛋的故事番外篇

通俗范畴论13 鸡与蛋的故事番外篇 在上一篇中,我们得到了鸡与蛋的Set局部小范畴如下: 鸡与蛋 SetSetSet 局部小范畴 如上图所示,每个鸡来自于一个蛋,每个蛋来自于一只鸡,如此循环,以至于无穷… 是的,假设鸡与蛋两个对象代表的集合,都是无穷集合,这个系统就没有问题…

记录跟随recyclerview滑动的指示器

老早之前做的一个功能&#xff0c;横向recyclerview滑动时&#xff0c;底部做跟随滑动指示器。今天代码不用了&#xff0c;记录下代码。<LinearLayoutandroid:layout_width"match_parent"android:layout_height"wrap_content"android:layout_marginTop&…

快速过一遍Python基础语法

前言 本文章是深度学习的前导课&#xff0c;对有编程基础的小伙伴更加的友好&#xff08;C、C&#xff09;&#xff0c;如果完全没有学过任何一门编程语言也没有关系&#xff0c;本文章不会涉及到晦涩难懂的原理&#xff0c;只是简单的带大家过一遍Python的基础语法。 下面的操…

[爬虫实战] 多进程/多线程/协程-异步爬取豆瓣Top250

相关爬虫知识点&#xff1a;[爬虫知识] 深入理解多进程/多线程/协程的异步逻辑 相关爬虫专栏&#xff1a;JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 逆向知识点合集 前言&#xff1a; 在之前文章中&#xff0c;我们深入探讨了多进程、多线程和协程这三大异步技术的工作…

Git系列--1.初始Git

一、背景 目录 一、背景 二、认识 三、如何在Linux上安装Git 3.1检测git是否存在和版本 3.2安装和卸载git 3.2.1Centos 3.2.2Ubuntu 四、基本操作 4.1创建本地仓库 4.2必须的配置项 4.3宏观认识基本分区 我们会根据需求不断更改我们的文件内容&#xff0c;但有时我们会…

QWidget的属性

QWidget的属性 windowOpacityAPI说明windowOpacity()获取不透明数值&#xff0c;返回float&#xff0c;取值为0.0到1.0&#xff0c;其中0.0为全透明&#xff0c;1.0为完全不透明setWindowOpacity()设置控件的不透明数值注意点&#xff1a;窗口不透明度的变化并非精确的&#xf…

【PTA数据结构 | C语言版】后缀表达式求值

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录题目代码题目 请编写程序&#xff0c;求给定的后缀表达式的值。 输入格式&#xff1a; 输入在一行中给出一个非空后缀表达式&#xff0c;其中操作数为 int 型整数&#xff0c;操作符包括加、减、乘、除、取模。各…

装配式建筑4.0:当房子像汽车一样被“智造”

传统建筑方式&#xff0c;如同手工打造艺术品一般&#xff0c;大部分工作依赖现场施工&#xff0c;工人在建筑工地进行混凝土浇筑、砖块堆砌、钢筋绑扎等繁杂工作。这种方式受天气、工人技术水平等因素影响极大&#xff0c;不仅施工周期漫长&#xff0c;质量也参差不齐。据统计…

Go语言生态成熟度分析:为何Go还无法像Java那样实现注解式框架?

近年来&#xff0c;Go语言因其性能高效、部署简单、并发模型优秀等特性&#xff0c;成为云原生与微服务架构中的热门语言。然而&#xff0c;在实际的企业级项目开发中&#xff0c;开发者普遍会发现一个现象&#xff1a;Go的开发效率&#xff0c;尤其在快速构建中大型业务系统时…

oc分类和swift扩展有哪些区别

目录1. 语言环境2. 主要目的3. 核心能力对比4. 关键差异详解4.1. 属性支持4.2. Swift 扩展4.3. 初始化器4.4. 方法冲突与覆盖4.5. 关联类型与泛型5. 设计哲学6. 总结表在 Objective-C 和 Swift 中&#xff0c;分类&#xff08;Category&#xff09;和扩展&#xff08;Extension…

go.work

一般学习一个小东西时&#xff0c;无非两点&#xff0c;1、怎么用&#xff1f; 2、为啥用&#xff1f;在写一个小的项目demo时&#xff0c;忽然看到一个奇怪的东西“go.work”&#xff1f;这是啥&#xff1f;好奇&#x1f62f;&#xff0c;想知道。我是这么问AI的&#xff1a;g…

Kimi K2万亿参数开源模型原理介绍

Kimi K2 技术全解&#xff1a;1T MoE 大模型如何炼成开放智能体 文章目录Kimi K2 技术全解&#xff1a;1T MoE 大模型如何炼成开放智能体1. 模型架构与特点&#xff1a;1 T MoE 的「大」与「省」2. 主要创新点&#xff1a;MuonClip、Agentic RL 与工具调用2.1 MuonClip 优化器&…

【CMake】CMake构建项目入门

一、CMake介绍 CMake 是一个跨平台的自动化构建工具&#xff0c;用于管理软件项目的编译过程。它通过简单的配置文件&#xff08;CMakeLists.txt&#xff09;生成特定平台的构建文件&#xff08;如 Makefile、Visual Studio 项目&#xff09;&#xff0c;让开发者可以专注于代…

贪心算法题解——划分字母区间【LeetCode】

763. 划分字母区间 本题目&#xff0c;“同一字母最多出现在一个片段中”&#xff0c;因为这句话&#xff0c;所以本质上 这道题目属于合并区间 一、算法逻辑&#xff08;逐步思路&#xff09; ✅ 目标&#xff1a; 将字符串 s 划分成尽可能多的片段&#xff0c;要求&#xf…