I need the Toggle to align left as the top and bottom text. Can someone please explain why Toggle doesn't align left as the other two Text views.
struct GeneralTest: View {
var body: some View {
HStack(){
VStack(alignment: .leading){
Text("Some Text").font(.caption).foregroundColor(Color.blue)
Toggle("", isOn: .constant(true))
.toggleStyle(SwitchToggleStyle(tint: Color.blue))
Text("More Text").font(.caption).foregroundColor(Color.blue)
}
.frame(maxWidth:100)
}
}
}
What I'm seeing
CodePudding user response:
The space is there because SwiftUI is reserving that area for the toggle's title text. To hide it, do the following:
struct GeneralTest: View {
var body: some View {
HStack(){
VStack(alignment: .leading){
Text("Some Text").font(.caption).foregroundColor(Color.blue)
Toggle("", isOn: .constant(true))
.toggleStyle(SwitchToggleStyle(tint: Color.blue))
// here, added labelsHidden
.labelsHidden()
Text("More Text").font(.caption).foregroundColor(Color.blue)
}
.frame(maxWidth:100)
}
}
}

