9.3 GestureRecognizer

2024-05-09 00:38
文章标签 9.3 gesturerecognizer

本文主要是介绍9.3 GestureRecognizer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#import <UIKit/UIKit.h>@interface TapViewController : UIViewController@property (strong, nonatomic) UILabel *singleLabel;//显示单击信息标签
@property (strong, nonatomic) UILabel *doubleLabel;//显示双击信息标签
@property (strong, nonatomic) UILabel *tripleLabel;//显示三击信息标签@end



//
//  TapViewController.m
//  9 GestureGecognizer
//
//  Created by Tracy on 15/5/28.
//  Copyright (c) 2015年 Tracy. All rights reserved.
//#import "TapViewController.h"@interface TapViewController ()@end@implementation TapViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.[self onCreate];[self createGestureRecognizer];
}
#pragma mark 创建界面控件
- (void)onCreate {//创建3个标签self.singleLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 64, 200, 30)];self.singleLabel.text = @"单击次数";self.doubleLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 104, 200, 30)];self.doubleLabel.text = @"双击次数";self.tripleLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 144, 200, 30)];self.tripleLabel.text = @"三击次数";//加入视图中[self.view addSubview:self.singleLabel];[self.view addSubview:self.doubleLabel];[self.view addSubview:self.tripleLabel];
}
#pragma mark 创建手势识别器
- (void)createGestureRecognizer {//创建单击手势识别器UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap1:)];//创建双击手势识别器UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap2:)];//创建三击手势识别器UITapGestureRecognizer *tap3 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap3:)];//设置各个手势识别器的属性//单击tap1.numberOfTapsRequired = 1;tap1.numberOfTouchesRequired = 1;//双击tap2.numberOfTapsRequired = 2;tap2.numberOfTouchesRequired = 1;//三击tap3.numberOfTapsRequired = 3;tap3.numberOfTouchesRequired = 1;//注册手势识别器[self.view addGestureRecognizer:tap1];[self.view addGestureRecognizer:tap2];[self.view addGestureRecognizer:tap3];//消除手势重叠//单击等待双击失效后触发---------------------------------------------[tap1 requireGestureRecognizerToFail:tap2];//双击等待三击失效后触发---------------------------------------------[tap2 requireGestureRecognizerToFail:tap3];
}
#pragma mark 单击手势触发的方法
- (void)tap1:(UIGestureRecognizer *)recognizer {self.singleLabel.text = @"检测到单击";[self performSelector:@selector(eraseLabel:) withObject:self.singleLabel afterDelay:1.0f];//1秒以后消除label文本
}
#pragma mark 双击手势触发的方法
- (void)tap2:(UIGestureRecognizer *)recognizer {self.doubleLabel.text = @"检测到双击";[self performSelector:@selector(eraseLabel:) withObject:self.doubleLabel afterDelay:1.0f];//1秒以后消除label文本
}
#pragma mark 三击手势触发的方法
- (void)tap3:(UIGestureRecognizer *)recognizer {self.tripleLabel.text = @"检测到三击";[self performSelector:@selector(eraseLabel:) withObject:self.tripleLabel afterDelay:1.0f];//1秒以后消除label文本
}
- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}#pragma mark 消除label文本
- (void)eraseLabel:(UILabel *)label {label.text = @"";
}
/*
#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {// Get the new view controller using [segue destinationViewController].// Pass the selected object to the new view controller.
}
*/@end


这篇关于9.3 GestureRecognizer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/971904

相关文章

网络编程9.3

使用UDP实现多个客户端与服务器的通信,并在使用connect函数后只有一个客户端能与服务器通信 服务器: #include <myhead.h>#define SERPORT 9999#define SERIP "192.168.0.126"int main(int argc, const char *argv[]){//1、创建旧的套接字int oldfd = socket(A

实训day42(9.3)

⼀、编排分类 单机容器编排: docker-compose 容器集群编排: docker swarm、mesos+marathon、kubernetes 应⽤编排: ansible(模块,剧本,⻆⾊) ⼆、系统管理进化史 1. 传统部署时代 早期,各个组织是在物理服务器上运⾏应⽤程序。 由于⽆法限制在物理服务器中运⾏的应⽤程序资源使⽤,因此会导致资源分配问题。 例如,如果在同⼀台物理服务器

C++ 栈和队列的简单封装(9.3)

1.栈的封装 代码 #include <iostream>using namespace std;typedef int datatype;class Stack{private:datatype *data;int max_size; //栈的大小int the_top; //栈顶public:Stack(){data= new int[50];max_si

9.3javaweb总结

1.axios交互 发送数据到后端。 alert('注册成功(数据正在发送后端)!');// 获取表单数据//const formData = new URLSearchParams(new FormData(document.getElementById("register-form"))).toString();const form = document.getElementById(

9.3 Go 接口的多态性

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO系列: 记录博主学习GO语言的笔

信息系统项目管理师0148:输出(9项目范围管理—9.3规划范围管理—9.3.3输出)

点击查看专栏目录 文章目录 9.3.3 输出 9.3.3 输出 范围管理计划 范围管理计划是项目管理计划的组成部分,描述将如何定义、制定、监督、控制和确认项 目范围。范围管理计划用于指导如下过程和相关工作: ①制定项目范围说明书;②根据详细项目范围说明书创建 WBS;③确定如何审批和维护范围基准;④正式验收已完成的项目可交付成果。 根据项目需要,范围管理计划可以是正式或非

信息系统项目管理师0146:输入(9项目范围管理—9.3规划范围管理—9.3.1输入)

点击查看专栏目录 文章目录 9.3 规划范围管理9.3.1 输入 9.3 规划范围管理   规划范围管理是为了记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程。本过程的主要作用是在整个项目期间对如何管理范围提供指南和方向。本过程仅开展一次或仅在项目的预定义点开展。规划范围管理过程的数据流向如图 9-1 所示。   范围管理计划是项目或项目集管理计

【NOIP2017模拟9.3A组】摘果子

Description Input Output Sample Input 7 9 39 6 13 2 22 6 7 4 -19 5 28 6 -17 1 2 1 3 2 4 1 5 4 6 2 7 3 Sample Output 52 Solution 就是树上背包问题,有一个很经典的做法 按照dfs序反着来dp,那么f[i][j]表示的就

IOS 9.3.3更后打电话没声音解决方法

9.3.3刚推送更新的时候,脑子一热就更新上来,结果在通电话的时候,发现一直听不到对方的声音, 对方也听不到我的声音,我还以为不是我这边的问题,结果尝试拨打手机运营商的客服电话才发现, 是自己手机问题,开扩音也是没声音,有也是断断续续不清楚的那种。 解决办法就是,升级之后如果发现有这问题,重启下手机即可!

9.3Python文件操作(3):文件的字节读写模式

@概述 通过基本读写模式(只读r,覆写w,追加a,创写x)我们可以方便地操作字符流文件的读写;对于字节流文件(一切非字符型文件,包括媒体文件、可执行文件、压缩包、等等),我们则需要使用字节读写模式来进行相应的读写操作;与基本读写模式对应,字节读写模式有四种:rb,wb,ab,xb,分别对应字节只读、字节覆写、字节追加、字节创写;字节读写模式与普通读写模式所不同的,仅仅在于读入和写出的内容都是字节