• RxCocoa 同样对 UIGestureRecognizer 进行了扩展,并增加相关的响应方法。现在以滑动手势为例做具体说明,其它手势用法也是一样的。
  • 当手指在界面上向上滑动时,弹出提示框,并显示出滑动起点的坐标,效果如下:

  • 响应回调的示例一:
// 添加一个上滑手势
let swipe = UISwipeGestureRecognizer()
swipe.direction = .up
self.view.addGestureRecognizer(swipe)// 手势响应
swipe.rx.event.subscribe(onNext: { [weak self] recognizer in// 滑动的起点let point = recognizer.location(in: recognizer.view)self?.showAlert(title: "向上划动", message: "\(point.x) \(point.y)")}).disposed(by: disposeBag)// 显示消息提示框
func showAlert(title: String, message: String) {let alert = UIAlertController(title: title, message: message,preferredStyle: .alert)alert.addAction(UIAlertAction(title: "确定", style: .cancel))self.present(alert, animated: true)
}
  • 响应回调的示例二:
// 添加一个上滑手势
let swipe = UISwipeGestureRecognizer()
swipe.direction = .up
self.view.addGestureRecognizer(swipe)// 手势响应
swipe.rx.event.bind { [weak self] recognizer inlet point = recognizer.location(in: recognizer.view)self?.showAlert(title: "向上划动", message: "\(point.x) \(point.y)")}.disposed(by: disposeBag)

RxSwift之UI控件UIGestureRecognizer扩展的使用相关推荐

  1. RxSwift之UI控件UITableView扩展的使用

    一.基本使用 ① 单分区的表格 如下所示,单个分区的表格展示: 示例代码: import UIKit import RxSwift import RxCocoaclass ViewController ...

  2. RxSwift之UI控件UICollectionView扩展的使用

    一.基本用法 ① 单个分区的集合视图 效果如下: 示例代码: // 定义布局方式以及单元格大小 let flowLayout = UICollectionViewFlowLayout() flowLa ...

  3. RxSwift之UI控件UIPickerView扩展的使用

    一.基本用法 ① 单列的情况 基本用法 示例代码: var pickerView : UIPickerView!// 最简单的pickerView适配器(显示普通文本) private let str ...

  4. RxSwift之UI控件Label扩展的使用

    一.将数据绑定到 text 属性上(普通文本) 当程序启动时就开始计时,同时将已过去的时间格式化后显示在 label 标签上: // 创建文本标签 let label = UILabel(frame: ...

  5. RxSwift之UI控件UITextField与UITextView扩展的使用

    一.监听单个 textField 内容的变化(textView 同理) 将 textField 里输入的内容实时地显示到控制台中,示例代码: // 创建文本输入框 let textField = UI ...

  6. RxSwift之UI控件UISwitch与UISegmentedControl扩展的使用

    一.UISwitch(开关按钮) 实现当 switch 开关状态改变时,输出当前值: 示例代码: switch1.rx.isOn.asObservable().subscribe(onNext: {p ...

  7. RxSwift之UI控件UISlider与UIStepper扩展的使用

    一.UISlider(滑块) 如下所示,当拖动滑块时,在控制台中实时输出 slider 当前值: 当前值为:0.308442 当前值为:0.349990 当前值为:0.400087 当前值为:0.45 ...

  8. RxSwift之UI控件UIActivityIndicatorView与UIApplication扩展的使用

    一.UIActivityIndicatorView(活动指示器) UIActivityIndicatorView 又叫状态指示器,它会通过一个旋转的"菊花"来表示当前的活动状态. ...

  9. RxSwift之UI控件UIButton与UIBarButtonItem扩展的使用

    一.点击事件响应 如果想实现点击按钮后,弹出一个消息提示框: 示例代码: import UIKit import RxSwift import RxCocoaclass ViewController: ...

最新文章

  1. conflicts with existing, non-compatible bean definition of same name and class
  2. LeetCode 442. Find All Duplicates in an Array
  3. python设计一个函数定义计算并返回n价调和函数_音乐编程语言musicpy教程(第三期) musicpy的基础语法(二)...
  4. 系统设计基础:系统设计基本任务相关知识
  5. 使用Vim,让你工作效率更高
  6. 【CodeForces - 260A】Adding Digits (思维构造)
  7. 第二弹!谷歌大脑2017总结下篇:Jeff Dean梳理6大领域研究
  8. 13muduo_base库源码分析(四)
  9. 剑指offer——面试题34:丑数
  10. 深入理解viewport及相关属性的关系
  11. 数据库多表查询的几种方法
  12. centos7 ies4linux,Ubuntu 7.10中通过IEs4linux安装IE6
  13. MJPEG和MP4——视频转换随想
  14. CF1380D.Berserk And Fireball 【2000】你值得学习的【思维】+【模拟】+【贪心】
  15. 声效表达在游戏沉浸方面的影响力
  16. 使用oracle.jdbc.OracleDriver
  17. imgaug数据增强库使用
  18. 第三方INF不包含数字签名信息
  19. MySQL之锁-表级锁
  20. MetaCoMET----核心微生物组分析在线工具

热门文章

  1. 遭遇11gR2 bug:kewastUnPackStats(): bad magic 1
  2. 字符集和字符编码的概念区分
  3. ObjectInputStream和ObejctOutputStream
  4. 【转载】最大权闭合子图 【网络流】
  5. JavaScript-创建日志调试对象(面向对象实例)
  6. 跟燕十八学习PHP-第十九天-热身项目完善
  7. SharePoint 2007 用户创建 MySite 过程发生错误一例【已解决】
  8. rg1 蓝光危害rg0_LED(护眼)台灯|蓝光那些事
  9. java 多线程状态_总结Java中线程的状态及多线程的实现方式
  10. hp服务器重置bmc,HP iLO 登录用户名与 BMC 用户名不一致导致 ipmitool 无法修改用户名...