我通过线程成功在SwiftUI中实现了PageView:
如何在SwiftUI中实现PageView?
通过一个数组传递多个视图非常方便,只要所有视图都是相同的结构体。
PageView([TestView(), TestView()])
.
但是,我想传递不同的视图。
PageView([TestView(), AnotherView(), DifferentView()])
.
所有的视图都是SwiftUI类型:
struct NAME : View { code }
当我尝试将不同的结构体添加到数组中时,会收到以下错误消息:
var pageViewViewArray = [TestView(), AnotherView(), DifferentView()]
异构集合文字字面量只能被推断为 '[Any]',如果这是有意的,请添加显式类型注释。
插入 'as [Any]'
通过将其转换为:
var pageViewViewArray = [TestView(), AnotherView(), DifferentView()] as! [Any]
PageView(pageViewViewArray)
PageView将会显示:
协议类型“Any”无法符合“View”的规定,因为只有具体的类型可以符合协议。
我非常感谢任何想法。