SwiftUI:查看 属性
SwiftUI: View as property
有没有办法让View
属性?
struct MyObj {
var myView: View
}
当我尝试这个时,我得到一个编译器错误:Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements
您必须使用 5.1。尝试:
var myView: some View
如果您想要一个可以容纳任何类型 View
的 属性,您有几个选择。
如果它在运行时始终是相同类型的视图,您可以使容器通用:
struct MyObject<Content: View> {
var myView: Content
}
如果你想让它在运行时持有不同类型的视图,你需要使用AnyView
:
struct MyObject {
var myView: AnyView
}
当分配给 属性.
时,您需要手动将视图实例包装在 AnyView
中
有没有办法让View
属性?
struct MyObj {
var myView: View
}
当我尝试这个时,我得到一个编译器错误:Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements
您必须使用 5.1。尝试:
var myView: some View
如果您想要一个可以容纳任何类型 View
的 属性,您有几个选择。
如果它在运行时始终是相同类型的视图,您可以使容器通用:
struct MyObject<Content: View> {
var myView: Content
}
如果你想让它在运行时持有不同类型的视图,你需要使用AnyView
:
struct MyObject {
var myView: AnyView
}
当分配给 属性.
时,您需要手动将视图实例包装在AnyView
中