Zap*_*hod 15 ios swift swiftui
我正在寻找一种方法来删除ToggleSwiftUI中 a 的标签...
我试过,ToggleStyle但似乎不是正确的方法:
Toggle(isOn: $isBlinky) {
Text("DO NOT DISPLAY").color(.red)
}
.toggleStyle(.switch)
Run Code Online (Sandbox Code Playgroud)
由于标签似乎包含在类型本身 ( struct Toggle<Label>) 中,因此可能无法单独使用开关...
顺便说一句,如果我使用Text("")然后scaledToFit()开关仍然在右侧并且没有真正居中......
无论如何,如果有人有想法!
PS:在等待解决方案时,我包装了一个很好的旧UISwitch,但这不是这个想法......
struct Switch : UIViewRepresentable {
@Binding var isOn : Bool
func makeUIView(context: Context) -> UISwitch {
let uiView = UISwitch()
uiView.addTarget(
context.coordinator,
action: #selector(Coordinator.didChange(sender:)),
for: .valueChanged)
return uiView
}
func updateUIView(_ uiView: UISwitch, context: Context) {
uiView.isOn = isOn
}
// MARK:- Coordinator
func makeCoordinator() -> Switch.Coordinator {
return Coordinator(self)
}
class Coordinator: NSObject {
var control: Switch
init(_ control: Switch) {
self.control = control
}
@objc func didChange(sender: UISwitch) {
control.isOn = sender.isOn
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ens 28
这是应该如何做的。
Toggle("Turn alarm on", isOn: $isToggleOn)
.labelsHidden() // Hides the label/title
Run Code Online (Sandbox Code Playgroud)
注意:即使标签被隐藏,您仍应添加一个以方便访问。
小智 6
您可以使用 .labelsHidden() 修饰符隐藏标签:
Toggle(isOn: $switchValue) {}
.labelsHidden()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8369 次 |
| 最近记录: |