UIButton
可以配置为在启用或禁用按钮时使用不同的样式、标题等,例如使用UIButton.setTitle(String, forState:UIControlState)
.
ReactiveCocoa
让我连接ReactiveSwift.Action
到按钮的reactive.pressed
属性,如果Action
禁用,按钮将显示禁用样式:太棒了!
但是,当 a正在进行ReactiveSwift.Action
时,它也会被禁用。SignalProducer
这种锁定对于附加到慢动作(例如网络请求)的 UI 元素很有用,但当动作快速但非即时时会产生不希望的视觉闪烁。
一个简单的解决方法是不使用内置的UIButton
禁用样式:相反,我们可以在Property<Bool>
某处公开一个并使用它来启用/禁用Action
和显式更改按钮的样式。然而,这有点笨拙和尴尬,所以我的问题是:是否有一种“干净”的方法可以将UIButton
内置的禁用样式与通过显式禁用Action
inside禁用按钮相结合UIButton.reactive.pressed
,而不在操作进行时显示禁用的样式?