SwiftUI 中的 CALayer 等价物
CALayer equivalent in SwiftUI
UIViews
已知支持图层,但不确定 SwiftUI
视图。 SwiftUI
中是否有层的概念,可以添加为子层,动画,你可以用 CALayer
做的一切?
通过跳转到 View
的定义检查 SwiftUI
的所有方法后,如下所示:
在该文件中,我可以看到作为开发人员我们可以访问的所有 UIControl 和所有方法都列在那里。在这里,我发现没有像概念这样的层。但是层的所有属性 - 如 cornerRadius、borderWidth、borderColor、shadow 等都已经在那里定义了。所以我认为在 SwiftUI
.
中出现这种概念的可能性较小
仍然不确定我的答案。
在 "Building Custom Views with SwiftUI" 演讲中,他们展示了视图和绘图 models/interfaces 本质上已在框架的幕后组合在一起。因此,View 具有类似层的属性,但构建在 View 本身而不是层抽象上。
import SwiftUI
import AVFoundation
struct DrawingView: UIViewRepresentable {
private let view = UIView()
var layer: CALayer? {
view.layer
}
func makeUIView(context: Context) -> UIView {
view
}
func updateUIView(_ uiView: UIView, context: Context) { }
}
UIViews
已知支持图层,但不确定 SwiftUI
视图。 SwiftUI
中是否有层的概念,可以添加为子层,动画,你可以用 CALayer
做的一切?
通过跳转到 View
的定义检查 SwiftUI
的所有方法后,如下所示:
在该文件中,我可以看到作为开发人员我们可以访问的所有 UIControl 和所有方法都列在那里。在这里,我发现没有像概念这样的层。但是层的所有属性 - 如 cornerRadius、borderWidth、borderColor、shadow 等都已经在那里定义了。所以我认为在 SwiftUI
.
仍然不确定我的答案。
在 "Building Custom Views with SwiftUI" 演讲中,他们展示了视图和绘图 models/interfaces 本质上已在框架的幕后组合在一起。因此,View 具有类似层的属性,但构建在 View 本身而不是层抽象上。
import SwiftUI
import AVFoundation
struct DrawingView: UIViewRepresentable {
private let view = UIView()
var layer: CALayer? {
view.layer
}
func makeUIView(context: Context) -> UIView {
view
}
func updateUIView(_ uiView: UIView, context: Context) { }
}