2014-02-15 2 views
2

Я пытаюсь установить мой переход с анимацией Zoom в ECSLidingViewController2.ECSlidingViewController Zoom Анимация

Как и в примере TransitionFun (https://github.com/ECSlidingViewController/ECSlidingViewController/blob/master/Examples/TransitionFun/TransitionFun/METransitionsViewController.m), я делаю это в viewDidLoad моего Topview NavigationController:

id<ECSlidingViewControllerDelegate> transition = [[MEZoomAnimationController alloc] init]; 
self.slidingViewController.delegate = transition; 

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

Я принятия протокола ECSlidingViewControllerDelegate в файле заголовка NavigationController.

Но он выходит из строя в ECSlidingViewController.m, на первом, если условие этого метода я получаю (1) ошибка EXC_BAD_ACCESS:

- (CGRect)frameFromDelegateForViewController:(UIViewController *)viewController 
         topViewPosition:(ECSlidingViewControllerTopViewPosition)topViewPosition { 
    CGRect frame = CGRectInfinite; 

    if ([(NSObject *)self.delegate respondsToSelector:@selector(slidingViewController:layoutControllerForTopViewPosition:)]) { 
    id<ECSlidingViewControllerLayout> layoutController = [self.delegate slidingViewController:self 
                  layoutControllerForTopViewPosition:topViewPosition]; 

    if (layoutController) { 
     frame = [layoutController slidingViewController:self 
           frameForViewController:viewController 
             topViewPosition:topViewPosition]; 
    } 
} 

return frame; 

}

Любой имеющий тот же вопрос? ТНХ

ответ

1

Это то, что я делаю в viewDidLoad: метод мой взгляд контроллера и он прекрасно работает:

id<ECSlidingViewControllerDelegate> transition = self.zoomAnimationController; 
self.slidingViewController.delegate = transition; 
self.slidingViewController.topViewAnchoredGesture = ECSlidingViewControllerAnchoredGestureTapping | ECSlidingViewControllerAnchoredGesturePanning; 
self.slidingViewController.customAnchoredGestures = @[]; 
[self.navigationController.view addGestureRecognizer:self.slidingViewController.panGesture]; 

Если, как я, вы не пытаетесь реализовать динамический переход, вы должны избавиться от линии, которую вы имеете, что говорит:

[self.navigationController.viewremoveGestureRecognizer:self.dynamicTransitionPanGesture]; 

ИМХО его, что может быть причиной вашей EXC_BAD_ACCESS (1) сообщение об ошибке, так как вы на самом деле не установить dynamicTransitionPanGesture жест распознаватель.

+0

Вы были правы, это работает. Thx за вашу помощь! –

+0

Спасибо, ваш код работал на меня. Но я думаю, что 'EXC_BAD_ACCES –

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

  • Нет связанных вопросов^_^