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手势识别 的相关文章

  • 如何在 Xcode 4 中在 .h 和 .m 之间切换

    刚刚安装的 Xcode 4 到目前为止一切顺利 除了 Apple 更改了所有键盘快捷键 有人知道如何在 h 和 m 之间切换吗 苹果改变了各种快捷键 但要在标头和实现之间切换 新的快捷键是 You can change it back to
  • 两者都实现了类。将使用两者之一

    我有一个项目 它具有使用 SocketRocket 的依赖项 通过 CocoaPods 安装 并从 HeapAnalytics 导入了静态库 显然 HeapAnalytics 库已经使用了 SocketRocket 编译时没有出现错误 但在
  • 如何在 UICollectionView 的节标题中动态添加标签和按钮?

    请帮助我如何水平添加标签和水平添加类似的按钮 但每个按钮应像另一个部分一样在每个标签的下方对齐 这应该在 UICollectionView 的标题中动态发生 因为标签和按钮的数量根据我的数据 我想制作一种 Excel 类型的布局 并在标题中
  • 如何防止 RealmSwift 列表中出现重复项?

    如何防止向列表中添加重复项RealmSwift 我有我的User作为领域对象 但真正的数据源是服务器 只是使用领域在本地缓存用户 当我从服务器获取当前用户数据时 我想确保存储在领域中的用户拥有来自服务器的所有播放列表 以及它们的曲目列表等
  • 尝试复制文件时出错

    我正在尝试使用 NSFileManager 将临时文件复制到另一个位置 但是它失败并抱怨其中一个文件不存在 Copy temp file NSError error BOOL exists fileManager fileExistsAtP
  • iOS - NSNotificationCenter 多个UIKeyboard通知

    我有两个视图控制器 我们称它们为 A 和 B 1 在 A 中 我显示一个包含文本字段的 popOver 2 B中有一个UITextView用于简单的文本编辑 我必须管理 A 和 B 中的键盘才能滚动键盘隐藏的内容 我知道如何重新定位内容 我
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • 将带有地理位置数据的照片保存到照片库 Swift 3

    如何使用地理位置元数据将照片保存到照片库 我已请求 并允许 应用程序访问用户位置 private func allowAccessToUserLocation locationManager CLLocationManager locati
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • 如何检测Retina高清显示屏?

    UIScreen有一个新的 nativeScaleiOS 8 中的属性 但文档没有提及它 property nonatomic readonly CGFloat nativeScale 还有一个scale属性 但文档说它是 2 用于视网膜显
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • 如何从代码隐藏中设置 CarouselView 的项目?

    我有一个 CarouselView 它绑定到图像的 ItemsSource 但我想通过更改 CarouselView 的索引来更改当前显示的图像 我尝试使用 CarouselView Position 作为必须选择的元素的索引 但不幸的是这
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • 为什么我的 tableView 函数运行了 3 次?

    我有一个 UITableView 并且有执行它所需的方法之一 func tableView tableView UITableView numberOfRowsInSection section Int gt Int println sec
  • FireMonkey iOS RAD Studio XE2 - 在从 URL 加载的表单上显示图像

    是否可以将 TImage 放置在 iOS 的 FMX 表单上 并将图像 jpg 从 URL 加载到此 TImage 中以在 iOS 应用程序中显示 我尝试过但没有成功 任何正确方向的提示或指出都会受到赞赏 将 TButton TImageC
  • 通过 cocoapods 更新 KIF 框架后,运行以及测试 Xcode 工作区时出现链接器错误

    我有一个 Xcode 工作区 其中我已更新到 KIF 2 0 通过终端和 podfile 中的 pod KIF 进行 pod 更新 之后我按照 中提供的说明配置了工作区https github com kif framework KIF c
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • ActionScript、NetStream.Play.Failed iOS AIR 移动设备

    我正在尝试以类似于 Tiberiu Ionu Stan http stackoverflow com questions 2036107 aac mp4 not working in actionscript 3s netstream 的方

随机推荐

  • 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