IOS7手势识别

2023-10-30

 
   //添加一个view 给view加上各种手势查看效果
    UIView *gestureTestView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)] ;
    gestureTestView.backgroundColor = [UIColor greenColor];
  //开启UIVIew的事件响应
    gestureTestView.userInteractionEnabled = YES;
    [self.view addSubview:gestureTestView];
    
    //添加单击手势
    UITapGestureRecognizer *tapOne = [[UITapGestureRecognizer alloc]init];
    //设置响应事件的点击次数
    tapOne.numberOfTapsRequired = 1;
    //设置点击手指的个数
    tapOne.numberOfTouchesRequired = 1;
    //添加事件响应函数
    [tapOne addTarget:self action:@selector(tapOneCallBack:)];
    //把手势添加到view上
    [gestureTestView addGestureRecognizer:tapOne];
    
    //添加双击手势
    UITapGestureRecognizer *tapTwo = [[UITapGestureRecognizer alloc]init];
   //点击次数
    tapTwo.numberOfTapsRequired = 2;
    //事件响应函数
    [tapTwo addTarget:self action:@selector(tapTwoCallBack:)];
    //优先响应双击事件,双击时单击事件不识别
    [tapOne requireGestureRecognizerToFail:tapTwo];
    //把手势添加到View
    [gestureTestView addGestureRecognizer:tapTwo];
    
    
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc]init];
    [panGesture addTarget:self action:@selector(panCallBack:)];
    [gestureTestView addGestureRecognizer:panGesture];
    
    //创建缩放手势
    UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]init];
    [pinch addTarget:self action:@selector(pinch:)];
   // pinch.delegate = self;//设不设置代理都可以
    [gestureTestView addGestureRecognizer:pinch];
   
    
    //创建旋转手势
    UIRotationGestureRecognizer *rot = [[UIRotationGestureRecognizer alloc]init];
    [rot addTarget:self action:@selector(rotAction:)];
    //rot.delegate = self;
    [gestureTestView addGestureRecognizer:rot];
    
    // Do any additional setup after loading the view.
}

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return  YES ;//return NO 可以同时响应多个手势,但是有时会失败,return YES 能准确响应各个事件 ,点击后响应的事件为识别的第一个手势,其他手势无效
    //需要继承代理协议  <UIGestureRecognizerDelegate>
}
-(void)pinch:(UIPinchGestureRecognizer *)pinch1
{
    pinch1.view.transform = CGAffineTransformScale(pinch1.view.transform, pinch1.scale, pinch1.scale);
    pinch1.scale = 1.0;//默认1
}
-(void)rotAction:(UIRotationGestureRecognizer *)rot
{
    rot.view.transform = CGAffineTransformRotate(rot.view.transform, rot.rotation);
    rot.rotation = 0;//默认0;
}

-(void)panCallBack:(UIPanGestureRecognizer *)pan
{

    UIView *gestureView = (UIView *)pan.view;
    
    CGPoint point = [pan translationInView:self.view];
    
    gestureView.frame = CGRectMake(point.x, point.y, 200, 200);
    
}
static bool isFirstTap = true;
-(void)tapOneCallBack:(UITapGestureRecognizer *)tapOne
{
    
       UIView *gestureTestView = (UIView *)tapOne.view;
    if (isFirstTap) {
        gestureTestView.frame = CGRectMake(100, 100,100,100);
        isFirstTap = false;
    }else
    {
        isFirstTap = true;
        gestureTestView.frame = CGRectMake(100, 100, 200, 200);
    }
}

-(void)tapTwoCallBack:(UIGestureRecognizer *)tapTwo
{

    UIView *gestureTestView = (UIView *)tapTwo.view;
    if (isFirstTap) {
        gestureTestView.frame = CGRectMake(100, 100,100,100);
        isFirstTap = false;
    }else
    {
        isFirstTap = true;
        gestureTestView.frame = CGRectMake(100, 100, 200, 200);
    }

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOS7手势识别 的相关文章

  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • 在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

    无论是否呈现模态或用户执行任何类型的转场 有没有办法让按钮在整个应用程序中 始终位于顶部 而不是屏幕顶部 有什么方法可以让这个按钮可拖动并可捕捉到屏幕上吗 我正在以苹果自己的辅助触摸作为此类按钮的示例 您可以通过创建自己的子类来做到这一点U
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 如何为 iPhone 6+、6 和 5 指定不同尺寸?

    我想让 iPhone 6 6 和 5 上的视图看起来几乎相同 在附图中 我的意思是 例如 取消 按钮在 iPhone 5 中距离屏幕左边缘应为 30 像素 在 6 中为 35 像素 在 6 中为 45 像素 其他元素也类似 如何为每种类型设
  • 在 iOS 应用程序中拨打电话

    我有一些代码尝试在应用程序中进行调用 但它似乎不起作用 UIApplication myApp UIApplication sharedApplication NSString theCall NSString stringWithForm
  • 有没有办法在 Firebase 中等待查询完成?

    我正在使用 TableView 在 Viewcontroller 中的 iOS 应用程序中进行查询 我想确保在继续加载 TableView 之前我的查询已经返回 有没有办法保证查询已经完成 None
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • iOS 7 tabBar 横线,如何去掉?

    Apple 在 iOS 7 中的 tabBar 上添加了一条细线 该线应该在 tabBar 和 UI 之间起到阴影或淡入淡出的作用 由于我使用的是定制的 tabBar 这条线非常令人恼火 你如何删除它 请告诉我这是可能的 否则我需要重新设计
  • 无法以编程方式快速设置 NSLayoutConstraint 乘数...“无法分配给此表达式的结果

    我试图以编程方式快速设置乘法器的约束 当我设置该值时 它只会给我错误 无法分配给该表达式的结果 我用 IBOutlet 声明了 NSLayoutConstraint 然后设置乘数 就像我对另一个常量所做的那样 效果很好 但这个不会接受它 I
  • 通过 Button Swift 中的标签发送行和部分

    我里面有这个cellForRowAtIndexPath cell plusBut tag indexPath row cell plusBut addTarget self action plusHit forControlEvents U
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • UICollectionView setLayout:animated: 不保留 zIndex

    我注意到打电话时setLayout animated in a UICollectionView要在两个布局之间切换 当前可见的单元格不遵循zIndex它的布局属性已设置在layoutAttributesForItemAtIndexPath
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • flutter 使用image_picker上传图片

    第一步 封装 可以单独放在一个文件里 可以直接复制 选择图片函数 拍照 HspTakePhoto async var image await ImagePicker pickImage source ImageSource camera m
  • React 全栈体系(六)

    第三章 React 应用 基于 React 脚手架 二 组件的组合使用 TodoList 3 添加 todo 3 1 App src App jsx 创建 外壳 组件App import React Component from react
  • 后端返回JSON数据格式,前端根据JSON数据 导出.CSV文件

    以下仅供参考 效果图 前端JSON导出CSV文件 param Object dataObj 对象 title 名称 jsonKey Name 键值对 key data JSON数据 fileName 文件名 function exportC
  • Java中的OIO和NIO详解(含代码)

    简介及示例 Java NIO New I O 和OIO Old I O 是Java提供的两种不同的I O模型 OIO Old I O 是传统的阻塞I O模型 也称为同步I O 在OIO模型中 每个I O操作 如读写操作 都会阻塞当前线程 直
  • 随手记录(日历)

    日历
  • 7.最大最小距离算法与最大最小距离

    7 最大最小距离算法与最大最小距离 最大最小距离算法 最大最小距离算法是一种聚类算法 算法描述 1 任意选取一个样本模式作为第一聚类中心K1 2 选择离Z1最远欧氏距离的模式样本作为第二聚类中心K2 3 逐个计算每个模式样本与已确定的所有聚
  • 哈希表(散列表)原理详解

    什么是哈希表 哈希表 Hash table 也叫散列表 是根据关键码值 Key value 而直接进行访问的数据结构 也就是说 它通过把关键码值映射到表中一个位置来访问记录 以加快查找的速度 这个映射函数叫做散列函数 存放记录的数组叫做散列
  • Kibana启动Kibana server is not ready yet

    问题 页面访问Kibana路径显示 Kibana server is not ready yet 原因1 启动Kibana时指定ElasticSearch地址错误 http 116 62 19 81 9200 需要改为自己本机服务器的ip和
  • python调用GPT实现:智能用例生成工具

    工具作用 根据输入的功能点 生成通用测试点 实现步骤 工具实现主要分2个步骤 1 https请求调用Gpt 将返回响应结果保存为 md文件 2 用python实现 将 md文件转换成 xmind文件 3 写个简单的前端页面 调用上述步骤接口
  • zabbix-server仪表板出现: 不

    1 检查配置文件 vi etc zabbix zabbix server conf 里面的配置项是否还是原始的 如果是 请修改如下 2 检查第二个配置文件 vi etc zabbix web zabbix conf php 修改之前的原始配
  • 未转变者怎么调服务器难度,Unturned——作弊模式下的各项数值微调【较实用的已详细描述】...

    您尚未登录 立即登录享受更好的浏览体验 您需要 登录 才可以下载或查看 没有帐号 注册 register x 本帖最后由 Crazy Zombie 于 2017 8 11 10 31 编辑 如标题所示 在下发一个关于Unturned模式下各
  • 区块链与哈希函数

    目录 哈希函数 定义 性质 发展 常见攻击方法 1 穷举攻击 2 生日攻击 3 其他攻击 构造方法 1 利用对称密码体制来设计哈希函数 2 直接设计哈希函数 编辑 常用哈希函数简介 1 SHA 256算法 编辑 2 Keccak算法 3 S
  • Rust 学习心得<3>:无栈协程

    Rust 学习心得 lt 3 gt 无栈协程 有栈协程 vs 无栈协程 Go 有栈协程 Rust 协程 绿色线程 GreenThread 无栈协程 协程解决的问题 Rust作为一门新兴语言 主打系统编程 提供了多种编写代码的模式 Rust在
  • 虚幻引擎入门_框架

    虚幻引擎所提供的GamePlay框架可谓是虚幻引擎最为重要的一部分内容也不为过 虚幻引擎的设计希望开发人员在使用引擎之前是准备好了的 并且有充足的能力去理解游戏设计意图 在此之上为我们提供了一套开发规则 我们称之为游戏框架 GamePlay
  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    1 给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 示例 2 输入 ra
  • 环形缓冲器

    环形缓冲器 ringr buffer 也称作圆形队列 circular queue 循环缓冲区 cyclic buffer 圆形缓冲区 circula buffer 是一种用于表示一个固定尺寸 头尾相连的缓冲区的数据结构 适合缓存数据流 中
  • 编译出错总结

    1 incompatible types in assignment of char to char 64 可以使用strcpy 解决 2 error assigning to an array from an initializer li
  • Unity PlayerPrefs记录时间

    static public void SaveDateTimeInPlayerPrefs string key DateTime dt string timeStr dt ToString yyyy MM dd HH mm ss Playe
  • 时序预测

    时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 目录 时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 预测结果 基本介绍 程序设计 参考资料 预测结果 基本介绍 Mat
  • IOS7手势识别

    添加一个view 给view加上各种手势查看效果 UIView gestureTestView UIView alloc initWithFrame CGRectMake 100 100 200 200 gestureTestView ba