使用Xcode13进行Swift开发

发布于:2023-01-12 ⋅ 阅读:(575) ⋅ 点赞:(0)

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 family
    var 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更新换代有点频繁,谨慎更新。