這篇文章主要給大家總結介紹了2種實現ios觸屏事件的方法,簡單實用,有需要的小伙伴可以參考下。
代碼如下:
//在一個函數裡面(初始化等)裡面添加要識別觸摸事件的范圍
infoView=[[UIView alloc] initWithFrame:CGRectMake(20, 100,220, 280)];//范圍,出了這個范圍就檢測不到觸摸了
infoView.backgroundColor=[UIColor blueColor];
infoView.alpha=0.6;
[self.view addSubview:infoView];
/******************監視手勢控制*****************///有上下左右,我只用到了左右,上下注掉了。
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[infoView addGestureRecognizer:recognizer];
// recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
// [recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
// [self.view addGestureRecognizer:recognizer];
// recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
// [recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
// [self.view addGestureRecognizer:recognizer];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[infoView addGestureRecognizer:recognizer];
//觸摸事件 的實現函數
//滑動事件1
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer{
//如果往左滑
if(recognizer.direction==UISwipeGestureRecognizerDirectionLeft) {
NSLog(@"****************向左滑****************");
}
//如果往右滑
if(recognizer.direction==UISwipeGestureRecognizerDirectionRight) {
NSLog(@"****************向右滑****************");
}
if (recognizer.direction==UISwipeGestureRecognizerDirectionDown){
NSLog(@"****************向下滑****************");
}
if (recognizer.direction==UISwipeGestureRecognizerDirectionUp){
NSLog(@"****************向上滑****************");
}
}
方法二:
代碼如下:
GSEventRecord header;
GSHardwareKeyInfo key = {0,0,0,0,1,{'a'},1,{'a'},0,0,0,0};
memset(&header, 0, sizeof(header));
header.type = kGSEventKeyDown;
header.infoSize = sizeof(GSHardwareKeyInfo);
header.timestamp = mach_absolute_time();
struct
{
GSEventRecord header1;
GSHardwareKeyInfo key1;
}fuck = {header, key};
GSSendEvent(&fuck, GSGetPurpleApplicationPort());
GSEventRecord header;
GSHardwareKeyInfo key = {0,0,0,0,1,{'a'},1,{'a'},0,0,0,0};
memset(&header, 0, sizeof(header));
header.type = kGSEventKeyDown;
header.infoSize = sizeof(GSHardwareKeyInfo);
header.timestamp = mach_absolute_time();
struct
{
GSEventRecord header1;
GSHardwareKeyInfo key1;
}fuck = {header, key};
GSSendEvent(&fuck, GSGetPurpleApplicationPort());
以上所述就是本文的全部內容了,希望大家能夠喜歡。