0

У меня установлен ECSlidingViewController, как показано в примерах. Он работает без проблем для стандартных viewControllers. Но главное В приложения имеет следующую иерархию:ECSlidingViewController с UIScrollView

  1. NavigationController
  2. UIView из ContentController
  3. этого контроллер имеет UIScrollView с подкачкой горизонтально
  4. этого UIScrollView держит п UICollectionViewController (ы) с NHBalancedLayout (вертикальный)

Проблема в том, что panGesture не распознается, потому что, когда я на первой странице scrollView, я думал, что это будет просто wo rk, что другой жест справа открывает скользящий монитор? Я уже играл с методами, как:

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

Я также посмотрел на вики ECSlidingViewcontroller - но не нашел решения там еще: - /. Его последний вид showStopper для приложения: - /.

Помощь: -/

То, как я добавить panGesture к contentController - У меня есть BaseClass для всех contentControllers:

- (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]; 

ответ

1

OK нашел обходной путь, который работает очень хорошо для меня. Я просто добавляю прозрачный вид на левый край contentController, где я пересылаю panGesture динамическому делегату перехода. Если вместо панорамирования распознается крана -> мне требуется, чтобы gesturerec pan не смог в этом случае поймать кран на соответствующем представлении в коллекцииView. -> работает как ожидалось и не имеет негативных последствий для удобства использования.

+0

Опытная эта проблема. Можете ли вы показать свой код? Спасибо :) – realmasse

+0

Я застрял в месте. Когда мы открываем меню слайдера, некоторые (левый слайдер), некоторые пробелы на правой стороне. Я хочу, чтобы когда пользователь нажимал на закрепляемое место, слайдер автоматически уходит. сделай это – Dalvik

Смежные вопросы