iOS

iOS_GestureRecognizer_CGAffineTransform

手势与变形

Posted by kunnan on October 10, 2016

I、手势

  • iOS手势分为下面这几种:
- UITapGestureRecognizer(点按)
- UIPanGestureRecognizer(拖动)
- UIScreenEdgePanGestureRecognizer (边缘拖动)
- UIPinchGestureRecognizer(捏合)
- UIRotationGestureRecognizer(旋转)
- UILongPressGestureRecognizer(长按)
- ​UISwipeGestureRecognizer(轻扫)

1、1 离散型手势连续型手势

这些手势大都继承于UIGestureRecognizer类,(UIScreenEdgePanGestureRecognizer继承于UIPanGestureRecognizer类),

需要说明的是这些手势只有一个是离散型手势,那就是UITapGestureRecognizer,一旦识别就无法取消,而且只会调用一次手势操作事件。

换句话说其他手势是连续型手势,而连续型手势的特点就是:会多次调用手势操作事件,而且在连续手势识别后可以取消手势。

  • 从下图可以看出两者调用操作事件的次数是不同的:

1.2 手势类有着以下共同的方法:

1.3 UITapGestureRecognizer(点按)

1.4 UIPanGestureRecognizer(拖动)

1.5 UIScreenEdgePanGestureRecognizer (边缘拖动)

1.6 UIPinchGestureRecognizer(捏合)

1.7 UIRotationGestureRecognizer(旋转)

1.8 UILongPressGestureRecognizer(长按)

2. 变形


iOS的变形指的是图片的旋转、平移和缩放。这些变形可以和上面介绍的手势结合,完成许多变形操作。

  • CGAffineTransform为一个结构体:
  • 对iOS控件进行变形实际就是对控件transform属性进行操作。

2.1 缩放

  • 缩放操作

2.2 平移

2.3 旋转

3.手势结合变形


  • 手势结合变形就是通过手势对控件变形处理。

4.在storyboard中添加手势

4.1 使用方法:

  1. 直接将手势控件拖到要添加的视图上

  2. 关联手势事件

  3. 设置手势属性

注意:若想同时识别多个手势,方法和上面相同,遵循协议,实现方法,设置代理,不过代理可以手动关联。

转载请注明: > iOS_GestureRecognizer_CGAffineTransform