Merge pull request #516 from sambae/uiprogressview
Adds `rx_progress` to `UIProgressView`
This commit is contained in:
commit
8021db9958
|
|
@ -35,6 +35,8 @@
|
|||
9BA1CBFD1C0F84A10044B50A /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */; };
|
||||
9BA1CBFE1C0F84C40044B50A /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */; };
|
||||
9D71C4D21BF08191006E8F59 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254061B8A752B00B02D69 /* UIButton+Rx.swift */; };
|
||||
AAE623761C82475700FC7801 /* UIProgressView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE623751C82475700FC7801 /* UIProgressView+Rx.swift */; };
|
||||
AAE623771C82475700FC7801 /* UIProgressView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE623751C82475700FC7801 /* UIProgressView+Rx.swift */; };
|
||||
B1B7C3BD1BDD39DB0076934E /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B7C3BC1BDD39DB0076934E /* TakeLast.swift */; };
|
||||
B1B7C3BE1BDD39DB0076934E /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B7C3BC1BDD39DB0076934E /* TakeLast.swift */; };
|
||||
B1B7C3BF1BDD39DB0076934E /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B7C3BC1BDD39DB0076934E /* TakeLast.swift */; };
|
||||
|
|
@ -1325,6 +1327,7 @@
|
|||
84C225A21C33F00B008724EC /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextStorageDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicatorView+Rx.swift"; sourceTree = "<group>"; };
|
||||
A111CE961B91C97C00D0DCEE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
AAE623751C82475700FC7801 /* UIProgressView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIProgressView+Rx.swift"; sourceTree = "<group>"; };
|
||||
B1B7C3BC1BDD39DB0076934E /* TakeLast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TakeLast.swift; sourceTree = "<group>"; };
|
||||
B1D8998E1BF653410027B05C /* Timeout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Timeout.swift; sourceTree = "<group>"; };
|
||||
C807F3611C2ACED300017910 /* TestSchedulerVirtualTimeConverter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestSchedulerVirtualTimeConverter.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -2322,6 +2325,7 @@
|
|||
C882540A1B8A752B00B02D69 /* UIGestureRecognizer+Rx.swift */,
|
||||
C882540B1B8A752B00B02D69 /* UIImageView+Rx.swift */,
|
||||
C882540C1B8A752B00B02D69 /* UILabel+Rx.swift */,
|
||||
AAE623751C82475700FC7801 /* UIProgressView+Rx.swift */,
|
||||
7F600F3D1C5D0C0100535B1D /* UIRefreshControl+Rx.swift */,
|
||||
C882540D1B8A752B00B02D69 /* UIScrollView+Rx.swift */,
|
||||
C882540E1B8A752B00B02D69 /* UISearchBar+Rx.swift */,
|
||||
|
|
@ -3251,6 +3255,7 @@
|
|||
C80D338F1B91EF9E0014629D /* Observable+Bind.swift in Sources */,
|
||||
C88254311B8A752B00B02D69 /* UISegmentedControl+Rx.swift in Sources */,
|
||||
C8093EED1B8A732E0088E94D /* KVOObservable.swift in Sources */,
|
||||
AAE623761C82475700FC7801 /* UIProgressView+Rx.swift in Sources */,
|
||||
C8DB968D1BF7595D0084BD53 /* KVORepresentable+Swift.swift in Sources */,
|
||||
C80DDEB11BCE8CA3006A1832 /* Driver+Operators+arity.swift in Sources */,
|
||||
C88254281B8A752B00B02D69 /* UIButton+Rx.swift in Sources */,
|
||||
|
|
@ -4248,6 +4253,7 @@
|
|||
D203C50D1BB9C53E00D02D00 /* UISegmentedControl+Rx.swift in Sources */,
|
||||
C8C4B4C41C17727000828BD5 /* MessageSentObserver.swift in Sources */,
|
||||
D2138C861BB9BEBE00339B5C /* Observable+Bind.swift in Sources */,
|
||||
AAE623771C82475700FC7801 /* UIProgressView+Rx.swift in Sources */,
|
||||
D203C50A1BB9C53E00D02D00 /* UILabel+Rx.swift in Sources */,
|
||||
D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */,
|
||||
C8BCD3F61C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift in Sources */,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// UIProgressView+Rx.swift
|
||||
// Rx
|
||||
//
|
||||
// Created by Samuel Bae on 2/27/16.
|
||||
// Copyright © 2016 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
|
||||
import Foundation
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
import UIKit
|
||||
|
||||
extension UIProgressView {
|
||||
|
||||
/**
|
||||
Bindable sink for `progress` property
|
||||
*/
|
||||
public var rx_progress: AnyObserver<Float> {
|
||||
return UIBindingObserver(UIElement: self) { progressView, progress in
|
||||
progressView.progress = progress
|
||||
}.asObserver()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -287,6 +287,23 @@ extension ControlTests {
|
|||
}
|
||||
}
|
||||
|
||||
// UIProgressView
|
||||
extension ControlTests {
|
||||
func testProgressView_HasWeakReference() {
|
||||
ensureControlObserverHasWeakReference(UIProgressView(), { (progressView: UIProgressView) -> AnyObserver<Float> in progressView.rx_progress }, { Variable<Float>(0.0).asObservable() })
|
||||
}
|
||||
|
||||
func testProgressView_NextElementsSetsValue() {
|
||||
let subject = UIProgressView()
|
||||
let progressSequence = Variable<Float>(0.0)
|
||||
let disposable = progressSequence.asObservable().bindTo(subject.rx_progress)
|
||||
defer { disposable.dispose() }
|
||||
|
||||
progressSequence.value = 1.0
|
||||
XCTAssert(subject.progress == progressSequence.value, "Expected progress to have been set")
|
||||
}
|
||||
}
|
||||
|
||||
// UITableView
|
||||
extension ControlTests {
|
||||
func testTableView_DelegateEventCompletesOnDealloc() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue