我正试图在Xcode中创建一个简单的master/detail应用程序。
我希望详细视图是
struct EditingView: View
{
var body: some View {
var mainVertical: VStack = VStack() //error here
{
var previewArea: HStack = HStack()
{
var editorButton: Button = Button()
//the same with return editorButton
// I have to add other controls, like a WKWebView
}
return previewArea
//this is a simple version, layout will have other stacks with controls inside
}
return mainVertical
}
}
但我有
Generic parameter 'Content' could not be inferred
IDE提供给我修复,但如果我这样做,它会写一个我必须填充的泛型类型,但随后会出现其他错误,例如,如果我将AnyView放在TupleView中。
我希望它能推断出一切,它不能理解的错在哪里?
在SwiftUI中,您通常不需要引用控件。可以在视图中直接对其应用修改器。
这是首选方式:
struct ContentView: View {
var body: some View {
VStack {
HStack {
Button("Click me") {
// some action
}
}
}
.background(Color.red) // modify your `VStack`
}
}
或者,如果需要,您可以将控件提取为单独的变量:
struct ContentView: View {
var body: some View {
let hstack = HStack {
button
}
return VStack {
hstack
}
}
var button: some View {
Button("Click me") {
// some action
}
}
}
但最后我绝对建议你阅读Apple SwiftUI教程