为View添加手势

举报
清雨小竹 发表于 2022/09/24 23:56:36 2022/09/24
【摘要】 #import <UIKit/UIKit.h> @interface TestGestureRecognizerViewController : UIViewController { UIView *aView;}@property(nonatomic,retain)IBOutlet UIView *aView;@en...

  
  1. #import <UIKit/UIKit.h>
  2. @interface TestGestureRecognizerViewController : UIViewController {
  3. UIView *aView;
  4. }
  5. @property(nonatomic,retain)IBOutlet UIView *aView;
  6. @end
  7. ///
  8. #import "TestGestureRecognizerViewController.h"
  9. #import <QuartzCore/QuartzCore.h>//导入框架
  10. @implementation TestGestureRecognizerViewController
  11. @synthesize aView;
  12. -(void)handelPan:(UIPanGestureRecognizer*)gestureRecognizer{
  13. //获取平移手势对象在self.view的位置点,并将这个点作为self.aView的center,这样就实现了拖动的效果
  14. CGPoint curPoint = [gestureRecognizer locationInView:self.view];
  15. [self.aView setCenter:curPoint];
  16. }
  17. -(void)handelTap:(UITapGestureRecognizer *)gestureRecognizer{
  18. NSLog(@"%s",__FUNCTION__);
  19. [NSRunLoop cancelPreviousPerformRequestsWithTarget:self];//双击事件取消延时
  20. }
  21. //单击方法
  22. -(void)handelSingleTap:(UITapGestureRecognizer*)gestureRecognizer{
  23. NSLog(@"%s",__FUNCTION__);
  24. [self performSelector:@selector(singleTap:) withObject:nil afterDelay:0.2];
  25. }
  26. -(void)singleTap:(id)sender{
  27. NSLog(@"%s",__FUNCTION__);
  28. }
  29. - (void)viewDidLoad {
  30. [super viewDidLoad];
  31. //创建一个平移手势对象,该对象可以调用handelPan:方法
  32. UIPanGestureRecognizer *panGes = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handelPan:)];
  33. [self.aView addGestureRecognizer:panGes];
  34. [panGes release];
  35. //创建一个点击手势对象,该对象可以调用handelTap:方法
  36. UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelTap:)];
  37. [self.view addGestureRecognizer:tapGes];
  38. [tapGes release];
  39. [tapGes setNumberOfTouchesRequired:1];//触摸点个数
  40. [tapGes setNumberOfTapsRequired:2];//点击次数
  41. //创建一个点击手势对象,该对象可以调用handelSingleTap:方法
  42. UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelSingleTap:)];
  43. [self.view addGestureRecognizer:singleTap];
  44. [singleTap release];
  45. [singleTap setNumberOfTouchesRequired:1];//触摸点个数
  46. [singleTap setNumberOfTapsRequired:1];//点击次数
  47. }
  48. - (void)dealloc {
  49. [super dealloc];
  50. }
  51. @end

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/8468574

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。