[英]How to react on a value changed in swiftrx before it is actual set? (Like willSet only on Observable)
我有一個 Switch,它是一個名為switchChanged
的Observable
我可以收聽。
extension Reactive where ... {
lazy var toggleSwitch: UISwitch = {...}
var switchChanged: Observable<Bool> {
return toggleSwitch.rx
.controlEvent(.valueChanged)
.withLatestFrom(toggleSwitch.rx.value)
}
我有一個案例,我想聽..rx.switchChanged
或..rx.toggleSwitch.isOn
,但在它們實際更改它們的值之前(就像willSet
那樣)。
情況是:
點擊開關
聽點擊
計算是否可以切換開關並顯示微調器
一種。 如果是,切換開關並結束微調器
灣如果不是,不切換開關,顯示錯誤彈出窗口和結束微調器
有誰知道這是否可能?
從理論上講,.touchUpInside控制事件幾乎與您想要覆蓋的情況相匹配,但如果有人將開關拖到開,然后再拖到關,因為它無論如何都會觸發,可能看起來很奇怪。
在我看來,實際上讓它打開,放置一個微調器沒有問題,然后如果不可能,將它返回到關閉狀態並顯示一條消息說你不能這樣做,一點視覺額外不會傷害.
我建議你在這方面積極主動。 與其在用戶嘗試切換后檢查它是否可切換,不如在此之前進行。 如果用戶無法更改其狀態,則將其userInteractionEnabled
設置為 false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.