【发布时间】:2021-07-10 03:02:30
【问题描述】:
错误:参数传递给不带参数的调用
解释:我有 2 个不同的视图,ContentView 和 MainView。在MainView 中有一个@Binding 变量,即@Binding var showMenu: Bool。当我尝试使用参数调用MainView 时,我得到了上面指定的错误。
代码片段:
struct ContentView: View {
@State var showMenu = false
var body: some View {
GeometryReader { geometry in
MainView(showMenu: $showMenu)
.frame(width: geometry.size.width, height: geometry.size.height)
.offset(x: self.showMenu ? geometry.size.width/2 : 0)
.disabled(self.showMenu ? true : false)
}
}
}
和
struct MainView: View {
@Binding var showMenu: Bool
//unrelated variable declarations
init() {
//unrelated code
}
var body: some View {
//unrelated code
}
【问题讨论】:
-
你能说明
init()中的“无关代码”是如何初始化showMenu的吗?您应该做的是让初始化程序接受Binding<Bool>并将其分配给showMenu,这让我想知道您当前如何初始化showMenu。 -
init()里面的代码是
UINavigationBar.appearance().barTintColor = UIColor(#colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1))UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white]UINavigationBar.appearance().isTranslucent = false