含声明的闭包无法与ViewBuilder结果构建器配合使用的问题求助
问题解决:含声明的闭包无法与结果构建器'ViewBuilder'配合使用
你的问题出在错误地用带@ViewBuilder修饰的函数来定义SwiftUI视图,同时@ViewBuilder在这里属于多余修饰,引发了构建器兼容性冲突。SwiftUI的自定义视图必须通过遵循View协议的结构体来实现,而非这种函数写法。
修正后的代码如下:
struct NewTimerView: View { var body: some View { VStack(spacing:15) { Text("Add New Timer") .font(.title2.bold()) .foregroundColor(.white) .padding(.top,10) } .padding() .frame(maxWidth:.infinity) .background { RoundedRectangle(cornerRadius: 10, style: .continuous) .fill(Color("BG")) .ignoresSafeArea() } } }
简单说明:
- 将原函数改为遵循
View协议的结构体,这是SwiftUI定义视图的标准方式 - 移除不必要的
@ViewBuilder修饰,它通常用于辅助函数中实现多分支视图返回,不适合用来定义独立视图
内容的提问来源于stack exchange,提问作者snow
相关产品推荐
相关产品推荐

