mal*_*low 1 usability toggle swift swiftui
出于可用性目的,我想增加 Toggle 的目标大小。使用 .frame(width: 200, height: 200) 按钮很容易。但我不知道如何将其应用于切换。
这是我的代码。我已经标记了它在哪里有效,在哪里无效。
import SwiftUI
struct ContentView: View {
@State private var test = true
var body: some View {
VStack {
Text("Hello, world!")
.padding()
Button(action: {
print("button pressed")
}) {
Image(systemName: "checkmark.circle.fill")
.font(.largeTitle)
// This works for Button
.frame(width: 200, height: 200)
}
Toggle(isOn: Binding<Bool>(
get: { test },
set: {
test = $0
})) {
Text("Done")
}
// This doesn't work for Toggle
.frame(width: 200, height: 200)
.labelsHidden()
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
你可以尝试这样的事情:
Toggle(isOn: Binding<Bool>(
get: { test },
set: {
test = $0
})) {
Text("Done")
}
.frame(width: 200, height: 200)
.labelsHidden()
.contentShape(Rectangle())
.onTapGesture {
withAnimation {
test.toggle()
}
}
Run Code Online (Sandbox Code Playgroud)