IOS开发中长按的手势事件编程

长按手势事件:

长按按钮1S后改变按钮颜色:

 1 //  长按事件
 2 #import "ViewController.h"
 3 @interface ViewController (){
 4     UIButton *myBtn;
 5 }
 6 @end
 7 @implementation ViewController
 8 - (void)viewDidLoad {
 9     [super viewDidLoad];
10     myBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 200, 214, 80)];
11     myBtn.backgroundColor = [UIColor orangeColor];
12     [myBtn setTitle:@"开始按钮" forState:UIControlStateNormal];
13     UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];//初始化一个长按手势
14     [longPress setMinimumPressDuration:1];//设置按多久之后触发事件
15     [myBtn addGestureRecognizer:longPress];//把长按手势添加给按钮
16     [self.view addSubview:myBtn];
17 }
18 -(void)longPressAction:(UILongPressGestureRecognizer*)sender{
19 //    UIGestureRecognizerStatePossible,按钮state的各种枚举值
20 //    UIGestureRecognizerStateBegan,
21 //    UIGestureRecognizerStateChanged,
22 //    UIGestureRecognizerStateEnded,
23 //    UIGestureRecognizerStateCancelled,
24 //    UIGestureRecognizerStateFailed,
25 //    UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded
26     if (sender.state == UIGestureRecognizerStateBegan) {
27          myBtn.backgroundColor = [UIColor greenColor];//当状态为Began时,触发事件(修改btn的背景色)
28     }
29 }
30 @end
时间: 2024-10-07 03:37:59

IOS开发中长按的手势事件编程的相关文章

iOS开发实战——CollectionView点击事件与键盘隐藏结合案例(二)

我在前一篇博客中<iOS开发实战--CollectionView点击事件与键盘隐藏结合案例>详细实现了CollectionView与键盘组合操作中出现的多种情况,并解决了交互体验上的一些问题.在实际项目中也的确可以采用这种方法来操作.但是问题来了,原来的界面我们是使用UIView来操作的,也就是界面是不可滚动的.然而更为常见的场景是一个ScrollView,界面可以进行上下滚动.所以,这篇博客主要是对前一个案例进行优化.还有一个问题是,在自动布局Masonry结合ScrollView中,会碰到

iOS开发技巧系列---使用链式编程和Block来实现UIAlertView

UIAlertView是iOS开发过程中最常用的控件之一,是提醒用户做出选择最主要的工具.在iOS8及后来的系统中,苹果更推荐使用UIAlertController来代替UIAlertView.所以本文也并不提倡开发者再使用UIAlertView,本文的目的是探讨如何将原来的给变量赋值和通过Delete来回调的方式变成链式编程风格和通过Block来回调.通过学习对UIAlertView的改造让各位iOS开发者能够学会这种更加便捷的开发方式 什么是链式编程 对于有一定开发经验的开发者来说,链式编程

iOS开发五种触屏事件的处理

UIGestureRecognizer:是一个抽象类,表示触屏手势,这个类没有具体的作用.实际中经常使用的是这个类的子类: UITapGestureRecognizer(敲击手势),UILongPressGestureRecognizer(长按手势),UISwipeGestureRecognizer(清扫手势),UIPinchGestureRecognizer(捏合手势),UIPanGestureRecognizer(拖拽手势).这五种手势的使用方法大同小异,下面介绍具体的使用方法: 1. UI

【iOS开发之旅】手势解锁

BOERLockView.h // // BOERLockView.h // BoerScore // // Created by ChenQianPing on 16/2/18. // Copyright © 2016年 boer. All rights reserved. // #import <UIKit/UIKit.h> @class BOERLockView; @protocol BOERLockViewDelegate <NSObject> // 结束手势解锁代理事件

IOS开发—6种常用手势UIGestureRecognizer介绍

IOS 6种常用手势介绍 // // ViewController.m //  手势 // //  Created by Lotheve on 15/6/13. //  Copyright (c) 2015年Lotheve. All rights reserved. // #import "ViewController.h" @interface ViewController () { UITapGestureRecognizer *_tap;   //点击 UIPanGestureR

iOS开发——仿Clear纯手势操作的UITableView

前言 在Clear应用中,用户无需任何按钮,纯靠不同的手势就可以完成对ToDoItem的删除.完成.添加.移动.具体来说,功能上有左划删除,右划完成,点击编辑,下拉添加.捏合添加.长按移动.这里将这些功能实现并记录. 左划删除与右划完成 所谓的左右滑动,就是自定义一个cell然后在上面添加滑动手势.在处理方法中计算偏移量,如果滑动距离超过cell宽度一半,就删除它,或者是为文本添加删除线等来完成它:如果没有超过一半,那么就用动画把cell归位. 效果图如下: 关键代码如下: - (void)ha

iOS开发中的事件处理(二)-事件传递,响应者链条-

转载请注明出处:http://blog.csdn.net/whjForWork/article/details/44926833 事件处理的事件传递 简介: 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件 队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) UIView不接受触摸事件的三种情况: 不接收用户交互 userInteractionEnabled = NO

iOS开发--左滑返回手势失效

在UINavigationBar中设置了leftBarbuttonItem此时系统自带的左滑手势失效,应该如何开启? self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;

iOS开发 自定义navigationleftItem 之后手势失效的问题

@property (nonatomic, strong) UIViewController *currentShowVC; //设置代理 self.navigationController.interactivePopGestureRecognizer.delegate =(id)self; self.navigationController.interactivePopGestureRecognizer.enabled = YES; if (self.navigationController