【发布时间】:2022-01-04 10:12:42
【问题描述】:
这是基础视图
struct BaseView<Content: View>: View {
@State private var ShowSFView : Bool = false
let content: Content
init(@ViewBuilder content: () -> Content ) {
self.content = content()
}
//Code for button and URL
}
当我调用这个 baseView 时,我需要从另一个 View 传递两个 String 值到这个 BaseView 。一个用于按钮标签,另一个用于 URL。
我无法通过在初始化程序上声明变量来做到这一点,得到各种错误。怎么可能 我做到了吗?
编辑
baseView 中的初始化程序
init(@ViewBuilder content: () -> Content , btnlabel: String) {
self.content = content()
self.btnlabel=btnlabel
}
我如何从另一个视图中调用它
BaseView.init(content: () -> _, btnlabel: "")
【问题讨论】:
-
您遇到了什么错误?可以通过init来完成。
-
如果我向 init 添加另一个字符串值,应该添加什么作为参数来代替内容: _> 当我从第二个视图调用它时?
-
可以添加代码吗?你尝试过的
-
添加一个参数的init并调用
标签: ios swift xcode swiftui viewbuilder