我正在努力掌握SwiftUI的概念(完成了Apple的SwiftUI教程),但对我来说,自从使用UIKit十年后,它似乎很难理解。
我需要通过点击它们来切换HStack中多个按钮的状态(UIKit的isSelected
),并更改它们的字体和文本(在UIKit世界中,我会在@IBAction
中使用if
语句检查isSelected
属性,并使用attributedText
属性)。在TouchUpInside
)。
我的第一个想法是在其操作块中获取按钮的“引用”,但这感觉不像是SwiftUI的方法(甚至不可能)。我找到了使用Configurator及其isPressed属性的解决方案(这不是我要寻找的),但实际上我需要Button像toggle一样运行。 在SwiftUI中有没有内置的isSelected替代品,还是我必须制作自己的View实现,其中包含@State或@BindableObject,将封装某些手势识别器(看起来相当丑陋)?谢谢提前!
@State
。按钮“状态”实际上是内置在SwiftUIButton
中的。请查看以下两个链接:https://alejandromp.com/blog/2019/06/09/playing-with-swiftui-buttons/ https://alejandromp.com/blog/2019/06/22/swiftui-reusable-button-style/ - user7014451fav >= 3
来影响第三颗星的标签,在其操作中使用fav = 3
。 - Michael Salmon