gpt4 book ai didi

ios - 检测用户是否触摸了 iOS 上的屏幕

转载 作者:行者123 更新时间:2023-11-29 10:44:19 26 4
gpt4 key购买 nike

我搜索了其他几个问题和教程,但找不到我的问题的答案。我想检测用户是否触摸/点击/按住/单击屏幕。我尝试使用 touchesBegan: withEvent: 但它没有触发任何事件。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch view] == mapView_) {
NSLog(@"Touches began");
} else NSLog(@"Touches began");

是否有另一种通过触摸屏幕来检测用户交互的方法?

最佳答案

你必须使用 UITapGestureRecognizer。

使您的类符合 UIGestureRecognizerDelegate 协议(protocol)。

实例化手势识别器。例如,要实例化 UITapGestureRecognizer,我们将执行以下操作:

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];

在这里, Action 是将处理手势的选择器。在这里,我们的选择器 handleTapFrom 看起来像这样:

- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
//Code to handle the gesture
}

选择器的参数是手势识别器。我们可以使用这个手势识别器来访问它的属性,例如,我们可以找到手势识别器的状态,如 UIGestureRecognizerStateBegan、UIGestureRecognizerStateEnded 等。

在实例化的手势识别器上设置所需的属性。例如,对于 UITapGestureRecognizer,我们可以设置属性 numberOfTapsRequired 和 numberOfTouchesRequired。

将手势识别器添加到您要为其检测手势的 View 。在我们的示例代码中(我将分享该代码供您引用),我们将使用以下代码行将手势识别器添加到 imageView:

[self.imageView addGestureRecognizer:tapGestureRecognizer];

将手势识别器添加到 View 后,设置手势识别器的委托(delegate),即处理所有手势识别器内容的类。在我们的示例代码中,它会是这样的:

tapGestureRecognizer.delegate = self;

注意:在将手势识别器添加到 View 后分配委托(delegate)。否则,不会调用操作方法。

引用 - Here

关于ios - 检测用户是否触摸了 iOS 上的屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22966667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com