gpt4 book ai didi

ios - 将 UIPanGestureRecognizer 添加到 UIScrollView 时禁用滚动

转载 作者:可可西里 更新时间:2023-11-01 03:37:57 25 4
gpt4 key购买 nike

我有一个 ScrollView ,我想让它在平移完成时消失。它工作正常并且在平移时 ScrollView 消失但问题是现在我无法滚动内容。

[UIView animateWithDuration:0.2
delay:0.2
options: UIViewAnimationCurveLinear
animations:^{
slideView.frame=CGRectMake(268, 0, 500, 950);
curtain.frame=CGRectMake(0, 0, 268, 950);
curtain.backgroundColor=[[UIColor alloc]initWithRed:0 green:0 blue:0 alpha:0.6];
[self.view addSubview:slideView];
[self.view addSubview:curtain];

}
completion:^(BOOL finished){
NSLog(@"Done!");
}];

这就是我如何让我的 UIScrollView 出现(slideView 是一个 ScrollView )。然后我添加一个 UIPanGestureRecognizer。一切正常,但滚动被禁用。 (panImage 再次隐藏了我的 slideView。)我如何进行滚动?

[slideView addGestureRecognizer:panImage];

最佳答案

UIScrollView 有自己的平移手势识别器,用于控制滚动。通过添加另一个平移手势识别器,您将阻止 ScrollView 自己的平移手势识别器工作。

有很多方法可以解决这个问题,但如果您能解释一下系统应该如何知道用户何时试图关闭 ScrollView ,以及他何时试图滚动,那将会很有帮助,因为您需要一个平移手势来完成这两项操作。

例如,您可以将两个手势识别器的委托(delegate)设置为允许识别器同时操作(通过覆盖 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: 方法)。您可以让每个手势识别器需要不同的触摸次数(通过设置 minimumNumberOfTouchesmaximumNumberOfTouches 属性)。您可以使用 UISwipeGestureRecognizer 来识别关闭手势。您可以通过覆盖 ScrollView 委托(delegate)的 scrollViewDidScroll: 方法来检测用户何时试图滚动超过 ScrollView 的左边缘。

关于ios - 将 UIPanGestureRecognizer 添加到 UIScrollView 时禁用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9139676/

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