gpt4 book ai didi

ios - UISwipeGestureRecognizer 干扰 slider

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

我在一个 iOS 应用程序 (Obj-C) 中有一个 View ,它在中心有一个 ImageView ,紧接着在其下方有一个 slider 。 ImageView 显示专辑封面, slider 可用于调整正在播放的轨道位置。

还有一对左右滑动手势识别器。这些用于跳到下一首或上一首轨道。

问题是滑动手势识别器似乎会覆盖用户移动 slider 拇指。在我的手势识别器代码中,我检查触摸点是否在 ImageView 内,但它仍然阻止 slider 移动。 (拇指会移动,但当您移开手指时会跳回到原来的位置)。

这是我用来拒绝不在 ImageView 内的手势的代码。

- (IBAction)swipeLeftGestureAction:(UISwipeGestureRecognizer *)sender {
// Get the location of the gesture.
CGPoint tapPoint = [sender locationInView:_artworkImageView];

// Make sure tap was INSIDE the artwork image frame.
if( (tapPoint.x <0)
|| (tapPoint.y < 0 )
|| (tapPoint.x > _artworkImageView.frame.size.width)
|| (tapPoint.y>_artworkImageView.frame.size.height))
{
NSLog(@"Outside!");
return;
}
NSLog(@"Swipe LEFT");
[_mediaController skipNext];
}

所以我的问题是,如何限制手势仅在滑动 ImageView 时起作用?

最佳答案

尝试将限制手势区域的代码放入 gestureRecognizer:shouldReceiveTouch: 并返回 NO 以防您不希望手势接收此触摸。它应该防止手势过度进行 slider 交互。

关于ios - UISwipeGestureRecognizer 干扰 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642487/

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