Xcode4.2 改变之三 可视化手势


4. UIGestureRecognizer使用更方便,居然可视化。
      在UIGestureRecognizers之前的时代,如果想要检测一个手势,如滑过(swipe),你不得不在UIView视图内对每个touch动作注册通知,如touchesBegan,touchesMoves,touchesEnded。程序员要编写相近的代码来检测各个touches动作,导致微妙的错误和应用程序之间的不一致。

      在iOS3.0,Apple开始引入新的UIGestureRecognizer类来补救。这些类提供检测诸如taps,pinches,rotations,swipes,pans和long presses等手势的默认实现,通过使用它们,再也不需要编写繁重的代码量,也能使程序正常运行。

使用UIGestureRecognizers非常简单,只有两步:

1. Create a gesture recognizer。需要指定一个回调方法使手势识别器当手势starts,changes,或ends时,能发送这些更新。

2. Add the gesture recognizer to a view。每个gesture recognizer都是唯一关联一个视图。当视图内部发生一个触摸(touch)时,手势识别器将寻找相匹配类型的触摸,找到匹配的就通知回调函数。 [self.view addGestureRecognizer:recognizer]; 

你可以编码方式执行这两步。不过现在StoryBoard Editor中可视化添加一个手势识别器非常容易。居然可以从Objects Library中拖放进来。

UIGestureRecognizer的衍生类別有以下几种:

  • UITapGestureRecognizer     点一下
  • UIPinchGestureRecognizer   二指往内或往外拨动
  • UIRotationGestureRecognizer  旋转
  • UISwipeGestureRecognizer     滑动,快速移动
  • UIPanGestureRecognizer       拖移,慢速移动
  • UILongPressGestureRecognizer  长按

這些手势別在使用上也很简单,只要在使用前定义并添加到对应的视图上即可(在StoryBoard可直接拖放到对应的视图上)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值