使用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中获取
使用Xcode13进行Swift开发_第1张图片
以及 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也就是垂直堆栈
使用Xcode13进行Swift开发_第2张图片
HStack指 horizontal stack也就是水平堆栈使用Xcode13进行Swift开发_第3张图片

ZStack是三维堆栈使用Xcode13进行Swift开发_第4张图片

3.2 frame,foregroundColor,cornerRadius,shadow,resizable与aspicRatio

.frame用于设置框架
.resizable用于给图片重新设置大小
使用Xcode13进行Swift开发_第5张图片
foregroundColor用于给View设置前景色。使用Xcode13进行Swift开发_第6张图片
.aspicRatio用于将图片拉伸时保持纵横比,包括.fit和.fill
fit将固定短边的长度,长边纵横比缩放
fill将固定长边的长度,将短边纵横比缩放使用Xcode13进行Swift开发_第7张图片

cornerRadius用于对一个View圆角
使用Xcode13进行Swift开发_第8张图片

shadow用于对一个view创建投影(阴影)
使用Xcode13进行Swift开发_第9张图片

3.3 font,fontWeight,offset,rotationEffect和rotation3DEffset

font:设置字体大小
fontWeight:设置字体重量
使用Xcode13进行Swift开发_第10张图片
offset用于偏移一个View(视图)
使用Xcode13进行Swift开发_第11张图片

rotationEffset和rotation3DEffset用于平面和立体旋转使用Xcode13进行Swift开发_第12张图片

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用于渐变
使用Xcode13进行Swift开发_第13张图片

3.7 加载动画:Binding与onAppear

首先新建一个SwiftUI文件,命名为LoadingView
使用Xcode13进行Swift开发_第14张图片

首先一个加载动画我想用一个圈转,但单转还单调了,所以还需要进行一些3D旋转
程序中的圈我打算复制前面代码中的渐变圈

onAppear是在看到时做出一个动作。这里用于触发条件
animation中用

.animation(Animation.linear(duration: /*一些代码*/)./*一些代码*/)

Binding:

调用:视图(变量 变量)   // 这里变量一般要加$
视图{
   @Binding var 变量: 变量类型
}


然后就可以在主程序中进行调用了

3.8 sheet

如果我想用一个按钮来召唤视图,那么我就需要它

3.9 拖动实现:CGSize

在App中有很多都有拖动一个有文字的框去移动,为了实现这个功能,我们需要一个变量来存放触控信息

3 .10 提取子视图

我可以将最上面的按钮提取一个子视图

然后按照相同步骤为下面的按钮和文本分别提取子视图
简洁了许多

4.小组件

有时候你需要为你的App创建小组件,那么具体步骤如下:
File->New->Target然后会弹出选项框使用Xcode13进行Swift开发_第15张图片
根据步骤创建
使用Xcode13进行Swift开发_第16张图片
确保你需要在小组件中调用的swift文件检查器如图所示

请添加图片描述

进入小组件的swift文件,将预览中的小组件如下复制三份,并分别设置小中大

然后按照下面步骤来创建子视图
我这里暂时都用Hello World!
使用Xcode13进行Swift开发_第17张图片

在主函数上添加

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

你可能感兴趣的:(Xcode,swift,xcode,ios)