中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[IOS]自定義長觸屏事件

發布時間:2020-07-19 18:55:04 來源:網絡 閱讀:304 作者:蓬萊仙羽 欄目:移動開發

寫一個Demo來自定義一個長觸屏事件,自定義長按手勢。

實現步驟:

1.創建一個自定義手勢類,命名為LongPressGestureRecognizer,在創建的時候繼承UIGestureRecognizer

LongPressGestuRecognizer.h:

#import <UIKit/UIKit.h>  @interface LongPressGestureRecognizer : UIGestureRecognizer  @end

LongPressGestuRecognizer.m:


#import "LongPressGestureRecognizer.h" #import <UIKit/UIGestureRecognizerSubclass.h> #import <time.h>  NSInteger timer1; NSInteger timer2; @implementation LongPressGestureRecognizer   -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {     [super touchesBegan:touches withEvent:event];     NSDate *nowDate = [NSDate date];     NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];     [dateformatter setDateFormat:@"ss"];          timer1 = [[dateformatter stringFromDate:nowDate] integerValue];     [dateformatter release];     NSLog(@"%d",timer1); }  -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {     [super touchesEnded:touches withEvent:event];     NSDate *nowDate = [NSDate date];     NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];     [dateformatter setDateFormat:@"ss"];          [dateformatter release];     NSLog(@"%d",timer1);          if ((timer2 -timer1) >= 2)     {          self.state = UIGestureRecognizerStateEnded;     }      }  @end

2.修改主ViewController

ViewController.h:

#import <UIKit/UIKit.h>  @interface DXWViewController : UIViewController<UIGestureRecognizerDelegate>  @end

ViewController.m:

#import "DXWViewController.h"  #import "LongPressGestureRecognizer.h"  @interface DXWViewController ()  @end  @implementation DXWViewController  - (void)viewDidLoad {     [super viewDidLoad];               LongPressGestureRecognizer * longPress = [[LongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPress:)];     [self.view addGestureRecognizer:longPress]; }  -(void)LongPress:(LongPressGestureRecognizer *)my {     NSLog(@"OK"); }  @end

3.ViewController中的觸屏事件touchesBegan和自定義手勢中的touchesBegan區別:                                              

ViewController中的touchesBegan是針對整個View而言的,而自定義中的手勢是要綁定到某個特定的view,只針對這個view才相應的手勢事件



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙城县| 西和县| 临西县| 内乡县| 慈利县| 龙岩市| 绥化市| 大丰市| 安新县| 雷山县| 岑溪市| 巴彦淖尔市| 昌平区| 吴江市| 化州市| 四平市| 株洲县| 张家界市| 千阳县| 会昌县| 马关县| 四平市| 屏山县| 图木舒克市| 白山市| 咸阳市| 小金县| 临夏县| 靖西县| 栖霞市| 光山县| 临江市| 商洛市| 闽清县| 澳门| 会理县| 聂荣县| 阳西县| 南丰县| 巴楚县| 团风县|