当前位置: 首页 > web >正文

创建 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.xdnf.cn/news/15354.html

相关文章:

  • 浅谈npm,cnpm,pnpm,npx,nvm,yarn之间的区别
  • 周末总结(2024/07/12)
  • 小架构step系列12:单元测试
  • 为什么有些PDF无法复制文字?原理分析与解决方案
  • 知识宇宙-思考篇:AI大模型如何重塑软件开发流程?
  • MCP选型指南:AWS vs Azure vs GCP vs 国内云厂商深度对比
  • openGauss 的列式存储表时遇到的排序和聚合查询性能问题
  • mybatis模糊匹配采用concat与#{},动态sql讲解
  • Flutter、React Native、Uni-App 的比较与分析
  • 80. 删除有序数组中的重复项 II
  • brpc中bthread_start_urgent和tls_task_group详细机制分析
  • 使用python 实现一个http server
  • 传感器WSNs TheDataLinkLayer——X-MAC
  • 基于随机森林的金融时间序列预测系统:从数据处理到实时预测的完整流水线
  • [特殊字符] 实时数据洪流突围战:Flink+Paimon实现毫秒级分析的架构革命(附压测报告)——日均百亿级数据处理成本降低60%的工业级方案
  • 【离线数仓项目】——电商域DWS层开发实战
  • 使用FastAdmin框架开发
  • 蒙特卡洛树搜索方法实践
  • 【云端深度学习训练与部署平台】AutoDL连接VSCode运行深度学习项目的全流程
  • C# 接口(派生成员作为实现)
  • 钉钉企业应用开发实战:从零构建组织级业务工具
  • MySQL 内外连接
  • monorepo 发布库 --- 打包文件
  • 线程属性设置全攻略
  • 深入详解:决策树在医学影像脑部疾病诊断中的应用与实现
  • 构建AI Agent的完整实战指南:从邮件助手案例看6步落地方法
  • 幸福的蓝图——搭建你的“快乐与意义”金字塔
  • AI 助力编程:Cursor Vibe Coding 场景实战演示
  • 分音塔科技(BABEL Technology) 的公司背景、股权构成、产品类型及技术能力的全方位解读
  • 部署Harbor私有仓库