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

标签 ios objective-c uiscrollview uipangesturerecognizer

我有一个 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/

相关文章:

ios - React Native ScrollView 在 iOS 中不工作

iOS:如何实现一个文本字段,以便我可以计算打字速度、删除文本

聚合函数 : How to include pending changes? 上的 iOS FetchRequest

ios - 触摸 ScrollView 时隐藏键盘

ios - 无法使用 hitTest : WithEvent: 选择 tableView 单元格

ios - Pod 规范中的 Cocoapods 依赖项不起作用

ios - iPhone X swift 4 中的 setExposureModeCustom 崩溃

objective-c - 如何集成 Sagepay iOS SDK

ios - 如何在ios的mainView Controller 中加载xib文件

ios - 尽管我添加了适当的约束,但 Scrollview 没有使用自动布局滚动