IOS-笔记8(手势)

Gestures

      使用UIGestureRecogninzer的子类来识别不同类型的手势,使用手势一般分为两步:

      首先将手势识别器加到需要识别手势的View上,这通常由一个Controller来完成。在将视图从StoryBoard拖进Controller类中时,我们使用属性监听器中的didSet来设置其绑定的接下来写一个方法来处理识别到手势的操作,这件事有时由View来完成,有时由Controller来完成。看需要做什么操作。

@IBOutlet weak var faceView: FaceView!{
    didSet{//didset会在IOS初始化时设置faceView这个变量时执行,恰巧就是我们需要的时机   
    faceView.addGestureRecognizer(UIPinchGestureRecognizer(target: faceView, action: "scale:"))
    //设置手势变化时执行操作的类和方法,方法一般需要将手势传进去以获得手势的状态,属性值和方法等,这时需要加上:
    }
}
在这里因为是缩放手势,不需要Controller来做什么控制,所以直接在View里实现就可以了。

给视图添加手势这种事也可以在StoryBoard里直接拖进这个View,它会出现在顶部,再将它拖到你想实现它的类的代码里就可以了

现有的手势有:pinch,rotation,Swipe(设置Swipe时要发送一些额外的信息:手指数目和方向),Tap(设置点击次数)。

func scale(gesture: UIPinchGestureRecognizer){//缩放手势的实现函数
    if gesture.state == .Changed { //获得手势的状态来做相应的改变
        scale *= gesture.scale //获得手势的各种属性和方法
        gesture.scale = 1
    }
}
对于每一种手势,都有对应的方法,父类还提供手势的状态:possible,recognized,begin,change,end,还有failed,Cancelled等


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值