测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017 年 5 月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Ivan 维护。
要运行示例项目,请克隆仓库,并在 Example 目录中首先运行 pod install
。
ElunUIElements 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod "IMReactiveTextField"
如果发生编译错误,请修改在 ReactiveSwift pod 内部的 Atomic 类中的变量值
internal struct UnsafeAtomicState<State: RawRepresentable>: AtomicStateProtocol where State.RawValue == Int32 {
internal typealias Transition = (expected: State, next: State)
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
private let value: UnsafeMutablePointer<Int32>
.....
修改如下:
internal struct UnsafeAtomicState<State: RawRepresentable>: AtomicStateProtocol where State.RawValue == Int32 {
internal typealias Transition = (expected: State, next: State)
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
public let value: UnsafeMutablePointer<Int32>
.....
class ViewController: UIViewController {
@IBOutlet weak var emailTextField: ReactiveValidateTextField!
@IBOutlet weak var enableButton: UIButton!
.....
override func viewDidLoad() {
super.viewDidLoad()
let signalEmail = emailTextField.signalReactiveTextField(typeCondition: .JLConditionTypeEmail)
_ = Signal.combineLatest(signalEmail)
.map({ (emailCondition) -> Bool in
return emailCondition })
.observeResult({ (response) in
self.enableButton.isEnabled = response.value!})
.flatMap { (disponseResult) -> Bool? in
self.enableButton.isEnabled = disponseResult.isDisposed
return disponseResult.isDisposed
}
....
}
Iván Moya, [email protected]
IMReactiveTextField 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。