gpt4 book ai didi

ios - SwiftUI:向控件添加效果会禁用交互性

转载 作者:行者123 更新时间:2023-11-29 05:12:42 29 4
gpt4 key购买 nike

如何将 hueRotationblur 或其他效果应用于 SwiftUI 中的控件,并且仍然允许用户与其交互?

import SwiftUI

struct SwiftUIView: View {
@State var isOn = true
var body: some View {
Toggle(isOn: $isOn) {
Text("The toggle is \(isOn ? "on" : "off")")
}
.padding()
.hueRotation(.degrees(60)) // <-- Disables interactivity
}
}

struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}

最佳答案

不幸的答案是,这似乎是 UIKit 支持的 View 中的一个错误(SwiftUI 的 Toggle 实际上在 iOS 上使用 UISwitch) 。如果您修改代码以使用具有纯 SwiftUI 交互性的东西,就可以了。

struct SwiftUIView: View {
@State var isOn = true
var body: some View {
HStack {
Button("Toggle") {
self.isOn.toggle()
}
Text("Is On: \(self.isOn ? "yes" : "no")")
}
.padding()
.hueRotation(.degrees(60)) // <-- Interactivity still works
.contentShape(Rectangle())
}
}

你应该file feedback .

显然,您想要设置此Toggle 的样式。 this question中有一些解决方案,尽管它们都不是很令人满意。

关于ios - SwiftUI:向控件添加效果会禁用交互性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528843/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com