测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布上次发布 | 2017年5月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 langyanduan 和 langyanduan 维护。
使用闭包执行故事板转换。
如果你想要将一些参数传递给通过故事板中的转换创建的目标视图控制器,通常应该重写 prepareForSegue:sender:
。但如果与 SegueKit
一起工作,你可以在闭包中完成此操作。
如果你在故事板中创建了一个名为“A”的转换,你可以像这样执行转换:
import SegueKit
class ViewController: UIViewController {
let disposeBag = DisposeBag()
// basic
@IBAction func onBtnA(sender: AnyObject) {
performSegue(with: "A") { (segue) in
segue.destinationViewController.view.backgroundColor = UIColor.yellowColor()
}
}
}
import SegueKit
class ViewController: UIViewController {
let disposeBag = DisposeBag()
// with R.swift
@IBAction func onBtnB(sender: AnyObject) {
performSegue(with: R.segue.viewController.b) { (segue) in
segue.destinationViewController.view.backgroundColor = UIColor.greenColor()
}
}
// with Rx
@IBAction func onBtnC(sender: AnyObject) {
rx_performSegue("C")
.subscribeNext { (segue) in
segue.destinationViewController.view.backgroundColor = UIColor.redColor()
}
.addDisposableTo(disposeBag)
}
// with Rx + R.swift
@IBAction func onBtnD(sender: AnyObject) {
rx_performSegue(R.segue.viewController.d)
.subscribeNext { (segue) in
segue.destinationViewController.view.backgroundColor = UIColor.blueColor()
}
.addDisposableTo(disposeBag)
}
}
class A: UIViewController {
let disposeBag = DisposeBag()
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// with Rx
button.rx_tap.bindTo(rx_segue("A")) { (segue, _) in
segue.destinationViewController.view.backgroundColor = UIColor.blackColor()
}.addDisposableTo(disposeBag)
}
}
class B: UIViewController {
let disposeBag = DisposeBag()
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// with Rx + R.swift
button.rx_tap.bindTo(rx_segue(R.segue.b.b)) { (segue, _) in
segue.destinationViewController.view.backgroundColor = UIColor.brownColor()
}.addDisposableTo(disposeBag)
}
}
import SegueKit
class C: UIViewController {
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
// with Rx
rx_segue("C").subscribeNext { (segue, sender) in
segue.destinationViewController.view.backgroundColor = UIColor.purpleColor()
}.addDisposableTo(disposeBag)
}
}
class D: UIViewController {
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
// with Rx + R.swift
rx_segue(R.segue.d.d).subscribeNext { (segue, sender) in
segue.destinationViewController.view.backgroundColor = UIColor.orangeColor()
}.addDisposableTo(disposeBag)
}
}
要运行示例项目,首先克隆存储库,然后在 Example 目录中首次运行 pod install
。
SegueKit 由 langyanduan 创建并许可为 MIT 许可证。