使用Xcode13进行Swift开发
使用Xcode13进行Swift开发
- 1.软件
- Xcode
- 2.快捷键
- 3.应用功能
- 3.1 VStack,HStack,ZStack
- 3.2 frame,foregroundColor,cornerRadius,shadow,resizable与aspicRatio
- 3.3 font,fontWeight,offset,rotationEffect和rotation3DEffset
- 3.4 @State,onTapGuesture与animation
- 3.5 gesture和DispatchQueue
- 3.6 stroke,trim与Linear Gradient
- 3.7 加载动画:Binding与onAppear
- 3.8 sheet
- 3.9 拖动实现:CGSize
- 3 .10 提取子视图
- 4.小组件
- 5.真机调试
- Xcode更新换代有点频繁,谨慎更新。
1.软件
Xcode
从AppStore中获取
以及 SF Symbol
https://developer.apple.com/sf-symbols/
SF Symbols provides thousands of consistent, highly configurable symbols that integrate seamlessly with the San Francisco system font, automatically aligning with text in all weights and sizes.----苹果官网
2.快捷键
自动缩进:Ctrl + I
编译:Command + B
在模拟器上运行或真机调试:Command + R
当然还有很多,但是常用的就这些了
3.应用功能
3.1 VStack,HStack,ZStack
VStack指 vertical stack也就是垂直堆栈
HStack指 horizontal stack也就是水平堆栈
ZStack是三维堆栈
3.2 frame,foregroundColor,cornerRadius,shadow,resizable与aspicRatio
.frame用于设置框架
.resizable用于给图片重新设置大小
foregroundColor用于给View设置前景色。
.aspicRatio用于将图片拉伸时保持纵横比,包括.fit和.fill
fit将固定短边的长度,长边纵横比缩放
fill将固定长边的长度,将短边纵横比缩放
cornerRadius用于对一个View圆角
shadow用于对一个view创建投影(阴影)
3.3 font,fontWeight,offset,rotationEffect和rotation3DEffset
font:设置字体大小
fontWeight:设置字体重量
offset用于偏移一个View(视图)
rotationEffset和rotation3DEffset用于平面和立体旋转
3.4 @State,onTapGuesture与animation
@State创建一个状态
onTapGuesture用于在点击时执行
animation用于动画
3.5 gesture和DispatchQueue
gesture需要带参数,例如LongPressGesture()和onEnded
DispatchQueue用于延迟
3.6 stroke,trim与Linear Gradient
stroke,镂空一个图形
trim,用于修建图形
Linear Gradient用于渐变
3.7 加载动画:Binding与onAppear
首先新建一个SwiftUI文件,命名为LoadingView
首先一个加载动画我想用一个圈转,但单转还单调了,所以还需要进行一些3D旋转
程序中的圈我打算复制前面代码中的渐变圈
onAppear是在看到时做出一个动作。这里用于触发条件
animation中用
.animation(Animation.linear(duration: /*一些代码*/)./*一些代码*/)
Binding:
调用:视图(变量 变量) // 这里变量一般要加$
视图{@Binding var 变量: 变量类型
}
然后就可以在主程序中进行调用了
3.8 sheet
如果我想用一个按钮来召唤视图,那么我就需要它
3.9 拖动实现:CGSize
在App中有很多都有拖动一个有文字的框去移动,为了实现这个功能,我们需要一个变量来存放触控信息
3 .10 提取子视图
我可以将最上面的按钮提取一个子视图
然后按照相同步骤为下面的按钮和文本分别提取子视图
简洁了许多
4.小组件
有时候你需要为你的App创建小组件,那么具体步骤如下:
File->New->Target然后会弹出选项框
根据步骤创建
确保你需要在小组件中调用的swift文件检查器如图所示
进入小组件的swift文件,将预览中的小组件如下复制三份,并分别设置小中大
然后按照下面步骤来创建子视图
我这里暂时都用Hello World!
在主函数上添加
@Environment(\.widgetFamily)var family
然后用上子视图
struct Test_WidgetEntryView : View {var entry: Provider.Entry@Environment(\.widgetFamily)var familyvar body: some View {if family == .systemSmall {Test_Widget_small()}else if family == .systemMedium {Test_Widget_Medium()}else {Test_Widget_Large()}}
}
接着
然后就是编程了
5.真机调试
USB连接设备,然后
Xcode->Preferences->Accounts->±>Apple ID登陆,然后选择USB设备,运行。
完美!
Xcode更新换代有点频繁,谨慎更新。
使用Xcode13进行Swift开发相关推荐
- 《Swift开发实战》——第2章,第2.4节函数和闭包
本节书摘来自异步社区<Swift开发实战>一书中的第2章,第2.4节函数和闭包,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.4 函数和闭包 在本 ...
- 《Swift开发实战》——第16章,第16.2节下标脚本用法
本节书摘来自异步社区<Swift开发实战>一书中的第16章,第16.2节下标脚本语法,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 16.2 下标脚本 ...
- 《Swift开发实战》——导读
本节书摘来自异步社区<Swift开发实战>一书中的目录,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 内容简介 前 言 第1章 工欲善其事,必 ...
- 《Swift开发实战》——第1章,第1.4节启动iOS 8模拟器
本节书摘来自异步社区<Swift开发实战>一书中的第1章,第1.4节启动iOS 8模拟器,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 启动i ...
- swift开发体验,论objective-c与swift的选择
使用swift开发已经有半年之久了,期间做了一个电商应用,类似京东,苏宁的.主要谈谈感受,swift简洁的语法,不用写分号,所有自己写得工具类,第三方类库,都能自动import,着实令人大呼过瘾. 但 ...
- 用swift开发仪表盘控件(一)
苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法: 瞬间就被感动了,switch 中竟然大胆淘汰了break,全然是反人类的做法.其它语言没这么大胆和聪明,基本上 ...
- swift int转string_用Swift开发macOS程序,九、目录模块
程序中跟目录模块相似的,也是通过使用Outline View组件显示内容的模块有:备注.搜索.角色.符号.字典等其它五个.设计完成本模块后将不再对其它模块进行说明,一切请查看Github上代码.目录模 ...
- IOS swift开发——获取设备定位信息
作为GIS开发人员,学习任何Android或者swift开发语言,可能第一时间想到的就是获取设备的定位信息.这里就来简述一下,我使用swift获取IOS定位信息的过程. 目录 添加后台定位能力 模拟器 ...
- linux swift开发环境,Linux平台swift语言开发学习环境搭建
摘要 介绍在Ubuntu平台搭建Swift开发环境: 介绍Swift脚本解析器swift的使用: 介绍Swift编译器swiftc的使用: 1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌晨 ...
最新文章
- python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换
- 十年磨一剑!程序员老兵成新将
- Django + Nginx + Uwsgi + Celery + Rabbitmq 做一个高速响的应网站架构
- cs-HtmlHelpers
- Ch2 空间配置器(allocator) ---笔记
- 面向对象之三大特性:继承,封装,多态
- oracle查询结果存入临时表,Oracle查询问题引发临时表使用
- Java基础入门笔记-Eclipse快捷操作
- db2插入的时候怎么自增_3篇长文讲“自增ID”,大部分人仍然搞错了!?
- 【opencv】图像处理之开闭运算
- relu函数_【AI初识境】激活函数:从人工设计(sigmoid,relu)到自动搜索(swish)
- mysql错误诊断_MySQL Server无法启动错误诊断一则
- Mac 安装 MySQL 教程
- JAVA生成32位随机字符串工具
- 硬盘安装Win7教程!无光驱无U盘照样装Win7
- Android图片处理之Glide使用大全
- Two‘s Complement(二进制补码)
- selenium上传附件(借助AutoIt识别Windows上传窗口)
- 2020 知来者之可追
- 【第八期送书活动】+ 购书福利