SwiftUI 内功 之 强制VStack进行刷新 制作个日期选择组件(教程含源码)

本文看点

通过本文学习,您将了解到SwiftUI界面更新的核心机制,掌握强制刷新技巧。

本文价值与收获

看完本文后,您将能够作出下面的界面

截屏2020-08-12 下午11.01.53.png
截屏2020-08-12 下午11.02.01.png
Jietu20200812-230253.gif

看完本文您将掌握的技能

  • 掌握id()基础使用
  • 掌握blur()基础使用
  • 掌握DatePicker 基础使用
  • 实现强制刷新

基础知识

id(_ id: ID)

将视图的身份绑定到给定的代理值

func id(_ id: ID) -> some View where ID : Hashable

讨论区

当id参数指定的代理值发生更改时,将重置视图的身份(例如,其状态)。

参量

  • ID

blur(radius:opaque:)

将高斯模糊应用于此视图。

func blur(radius: CGFloat, opaque: Bool = false) -> some View

参量

  • raduis半径
    模糊的径向尺寸。半径较大时,模糊会更加分散。
  • opaque 不透明
    一个布尔值,指示模糊渲染器是否允许模糊输出中的透明度。设置为true可创建不透明的模糊,设置为false可允许透明。

讨论区

使用blur(radius:opaque :)将高斯模糊效果应用于此视图的渲染。
下面的示例显示了两个“文本”视图,第一个不具有模糊效果,第二个具有blur(radius:opaque :),且半径设置为2。半径越大,效果越分散。

struct Blur: View {
    var body: some View {
        VStack {
            Text("This is some text.")
                .padding()
            Text("This is some blurry text.")
                .blur(radius: 2.0)
        }
    }
}

实战代码

你可能感兴趣的:(SwiftUI 内功 之 强制VStack进行刷新 制作个日期选择组件(教程含源码))