簡體   English   中英

如何在ReactiveSwift中觀察UIControl子類中的更改?

[英]How do I observe changes in a UIControl subclass in ReactiveSwift?

我建立了UIControl的子類,我想觀察觸發事件。 從RAC3開始,還有一些更舊的答案,現在是RAC5,所以我想問這個問題以獲取更多最新信息。

我認為最常見的方法是使用reactive.mapControlEvents 基本上,它創建一個信號,該信號在UIControl每次發送控件事件時觸發,並將UIControl映射為專注於您感興趣的屬性。

然后,您可以根據需要創建自己的信號。 例如,如果要創建一個在UISegmentedControl更新其索引時觸發的信號,將執行以下操作:

extension Reactive where Base: UISegmentedControl {

    /// A signal of indexes of selections emitted by the segmented control.
    public var selectedSegmentIndexes: Signal<Int, NoError> {
        return mapControlEvents(.valueChanged) { $0.selectedSegmentIndex }
    }
}

(此代碼實際上直接來自ReactiveCocoa )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM