ios - 如何将控制事件添加到 RxCocoa 中的自定义按钮?
问题描述
如何将 .tap 方法添加到自定义按钮,即。<myCustomButton>.rx.tap
在 RxSwift/RxCocoa 中,这样我就可以将按钮的点击绑定到一个 observable。
CircularButton.swift
class UICircularButton: UIButton {
override func layoutSubviews() {
super.layoutSubviews()
clipsToBounds = true
subviews.first?.contentMode = .center
let layer: CALayer = self.layer
layer.cornerRadius = self.frame.size.width / 2
layer.masksToBounds = true
}
}
ViewController.swift
let transferButton: UIActionButton = {
let button = UICircularButton(type: .system)
button.setBackgroundImage(#imageLiteral(resourceName: "transfer"), for: .normal)
button.backgroundColor = Colors.trueGreen
return UIActionButton(button: button, actionLabel: "Transfer")
}()
// Question
func configureBinding() {
// How do I do this
transferButton.rx.tap
.bind(to: ...)
.dispose(by: ...)
}
解决方案
您不需要定义它,它已经被定义UIButton
并且您的自定义类继承了它。
推荐阅读
- bots - TypeError:无法读取未定义的不和谐机器人 js 说命令的属性“加入”
- java - 创建自定义命令(即发送原始字节)到 Spring Data Redis?
- python - 如何使以下简单的 Python 函数工作?
- sql - 选择数组中的最后一个公共元素
- apache-spark - 将 Spark 累加器与结构化流结合使用
- excel - 查询按日期和用户对这些行进行分组,在特定事件后开始一个新组
- google-apps-script - TypeError:response.getContentText 不是函数应用脚本
- image - Latex 图像页眉和页脚
- github - 使用自定义域使用 GitHub 页面托管文件时获取“页面 url”?
- configuration - Gulp 和 Coffeescript - 信号异步完成警告