SwiftUI中的CALayer等效项

时间:2019-06-06 07:47:24

标签: ios swiftui ios13

已知

UIViews具有图层支持,但不确定SwiftUI视图。在SwiftUI中有一个图层概念可以添加为子图层,动画形式,以及您可以使用CALayer做的所有事情吗?

3 个答案:

答案 0 :(得分:3)

在“使用SwiftUI构建自定义视图”演讲中,他们演示了视图和图形模型/接口在框架内已基本结合在一起。因此,一个View具有类似图层的属性,但是建立在View本身之上,而不是抽象层。

来源:https://developer.apple.com/videos/play/wwdc2019/237/

答案 1 :(得分:1)

通过跳到Subject::select('subjects.name, report_comments.comment') ->leftJoin('library_comments', 'subjects.id, '=', library_comments.subject_id') ->leftJoin('report_comments', function($join){ if(report->library->relationship){ $join->on('report_comments.library_comment_id', '=', 'library_comments.id') ->where('report_comments.report_id', '=', '1'); } }) 的定义来检查SwiftUI的所有方法之后,像这样:

enter image description here

在该文件中,我可以看到其中列出了所有UIControl,所有方法(开发人员可以访问这些方法)。在这里,我发现没有像概念这样的层。但是图层的所有属性(例如cornerRadius,borderWidth,borderColor,shadow等)都已在此处定义。因此,我认为在View中拥有这种概念的可能性较小。

仍然不确定我的答案。

答案 2 :(得分:0)

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) { }
}