针对昨天圆环的动画和一些基础知识。

缓入缓出动画

1
.animation(.easeInOut)

动画延迟

动画延迟子视图优先于父视图

1
.animation(Animation.easeInOut.delay(0.3))

文本中字符串换行

1
Text("12 of 12 sections completed\n10 hours spent so far")

@Binding情况下直接添加变量的结果

在使用@Binding时无论是浏览还是外部嗲用否会出错,这个时候需要使用.constant来引入

1
RingView(show: .constant(false))

添加样式

自定义样式/图层样式

1
2
3
4
5
6
7
8
9
10
11
12
13
//新建一个样式,可以新建一个文件“Modifiers.swift

struct ShadowModifier: ViewModifier {
func body(content: Content) -> some View {
content
.shadow(color: Color(#colorLiteral(red: 0.6117647059, green: 0.6470588235, blue: 0.7254901961, alpha: 0.29)), radius: 20, x: 0, y: 20)
.shadow(color: Color.black.opacity(0.05), radius: 1, x: 0, y: 1)
}
}

//调用的时候

.modifier(ShadowModifier())

添加字符样式

1
2
3
4
5
6
7
struct FontModifier: ViewModifier {
var style: Font.TextStyle = .body
func body(content: Content) -> some View {
content
.font(.system(style, design: .default))
}
}

添加滚动视图

1
2
3
ScrollView(.horizontal, showsIndicators: false) {
WachingRingsView()
}

重新构建应用

有的时候样式没有刷新,需要重新构建

⌘ + ⇧ + K 清理构建
⌘ + B 重新构建

添加自定义的字体样式

1.首先下载好需要的字体(例如Google fonts 等网站下载)

2.将下载好的字体拖入到Xcode中

3.选择创建组并确定

4.点击 info.plist 点击添加

5.输入 Fonts provided by application

6.在右侧输入整个字体的完整文件名和扩展名

当有多个字重时每个文件都要添加

7.添加样式

1
2
3
4
5
6
7
8
struct CustomFontModifier: ViewModifier {
var size: CGFloat = 16

func body(content: Content) -> some View {
content
.font(.custom("ZiTiQuanXinYiGuanHeiTi-2", size: size))
}
}

参考:Designcode