https://github.com/RxSwiftCommunity/RxAlert
https://github.com/RxSwiftCommunity/RxAlert
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/RxSwiftCommunity/RxAlert
- Owner: RxSwiftCommunity
- License: mit
- Created: 2019-04-28T09:20:05.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-08-05T04:23:42.000Z (over 1 year ago)
- Last Synced: 2025-04-15T00:05:11.519Z (7 months ago)
- Language: Swift
- Size: 847 KB
- Stars: 50
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rxswift - RxAlert
README
# RxAlert
## Overview
We have made it easy to implement UIAlertController using RxSwift.
|build|status|
|:-------|:---|
|Github Actions|[](https://github.com/RxSwiftCommunity/RxAlert/actions/workflows/rxalert.yml)|
## Use it
***Via SSH***: For those who plan on regularly making direct commits, cloning over SSH may provide a better experience (which requires uploading SSH keys to GitHub):
```
$ git clone git@github.com:RxSwiftCommunity/RxAlert.git
```
***Via https***: For those checking out sources as read-only, HTTPS works best:
```
$ git clone https://github.com/RxSwiftCommunity/RxAlert.git
```
## Carthage
Add following to Cartfile:
```
github "RxSwiftCommunity/RxAlert"
```
## Cocoapods
[CocoaPods](https://cocoapods.org/) is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate RxAlert into your Xcode project using CocoaPods, add following line to the Podfile
```
pod 'RxUIAlert'
```
## Usage
[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```
pod install
```
## Sample code
```
// normal alert
rx.alert(title: "RxAlert",
message: "We have made it easy to implement UIAlertController using RxSwift.")
.subscribe()
.disposed(by: disposeBag)
// textField
rx.alert(title: "RxAlert",
message: "We have made it easy to implement UIAlertController using RxSwift.",
actions: [AlertAction(title: "OK", type: 0, style: .default),
AlertAction(textField: UITextField(), placeholder: "user name"),
AlertAction(textField: UITextField(), placeholder: "password")])
.subscribe(onNext: { (output) in
output.textFields?.forEach {
print ($0.text as? String?)
}})
.disposed(by: disposeBag)
// actionsheet
rx.alert(title: "RxAlert",
message: "RxAlert Message",
preferredStyle: .actionSheet)
.observeOn(MainScheduler.instance)
.subscribe(onNext: { index in
print("index: \(index)")
}).disposed(by: disposeBag)
```
[LICENCE](https://github.com/RxSwiftCommunity/RxAlert/blob/master/LICENSE)
Copyright (c) RxSwiftCommunity