gpt4 book ai didi

ios - ECSlidingViewController 与 UIScrollView

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

我已经按照示例中所示设置了 ECSlidingViewController。它对标准 viewControllers 没有问题。但是应用程序的主要 vc 具有以下层次结构:

  1. 导航 Controller
  2. ContentController 的 UIView
  3. 这个 Controller 拥有一个水平分页的 UIScrollView
  4. 这个 UIScrollView 拥有 n 个 UICollectionViewController 和 NHBalancedLayout(垂直)

问题是无法识别 panGesture,因为当我在 scrollView 的第一页上时,我认为向右的另一个手势会打开 slidingViewController?我已经尝试过以下方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
- (BOOL)shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
- (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

我还查看了 ECSlidingViewcontroller wiki - 但还没有找到解决方案:-/。它是应用程序的最后一种 showStopper :-/。

帮助:-/

这就是我将 panGesture 添加到 contentController 的方式 - 我有一个用于所有 contentController 的 baseClass:

- (void)viewDidLoad

[super viewDidLoad];
// Do any additional setup after loading the view.

self.transitions.dynamicTransition.slidingViewController = self.slidingViewController;

NSDictionary *transitionData = self.transitions.all[0];
id<ECSlidingViewControllerDelegate> transition = transitionData[@"transition"];
self.slidingViewController.delegate = transition;

self.slidingViewController.topViewAnchoredGesture = ECSlidingViewControllerAnchoredGestureTapping | ECSlidingViewControllerAnchoredGestureCustom;
self.slidingViewController.customAnchoredGestures = @[self.dynamicTransitionPanGesture];
[self.navigationController.view addGestureRecognizer:self.dynamicTransitionPanGesture];

最佳答案

OK,我找到了一个非常适合我的解决方法。我只是在 contentController 的左边缘添加了一个透明 View ,我将 panGesture 转发给动态转换委托(delegate)。如果识别到点击而不是平移 -> 在这种情况下,我要求平移gesturerec 无法捕获collectionView 中相应 View 上的点击。 -> 按预期工作,不会对可用性产生负面影响。

关于ios - ECSlidingViewController 与 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808306/

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