【发布时间】:2021-03-24 03:26:07
【问题描述】:
我在 Mac Catalyst 上遇到了 SwiftUI 的问题,其中一个简单的视图如下所示:
struct ContentView: View {
@State var count : Int = 0
var body: some View {
HStack{
Button("tap me"){
count += 1
}
Button("test \(count)"){
count += 1
}.buttonStyle(CustomButtonStyle())
Button("test \(count)"){
count += 1
}.buttonStyle(CustomButtonStyle())
Button("test \(count)"){
count += 1
}.buttonStyle(CustomButtonStyle())
}
}
}
struct CustomButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration
.label
}
}
没有样式的按钮(以及从选择器到滑块的所有其他内容)在多次渲染后变得无响应。 仅当两个或多个具有自定义样式的按钮在屏幕上可见时才会发生这种情况。 不同的风格并不能解决问题。 你以前遇到过这个问题吗?这是 Mac 上 SwiftUI 的错误吗?
【问题讨论】:
-
我已经尝试了你的代码,在 mac 11.3-beta 上一切正常,使用 xcode 12.5-beta,目标 ios 14.x,mac catalyst 11.3。
-
这很有趣。要复制该问题,您应该至少重复按一次自定义样式的所有三个按钮。你这样做了吗?感谢您尝试@workingdog
-
是的,点击了很多次按钮。也尝试了不同的序列,一切仍然运行良好。
-
FWIW,我也检查了(因为我在 TextField 中遇到了类似的无响应问题),但这一切都对我有用,并且不会变得无响应。 XCode 12.4.
标签: ios swiftui mac-catalyst