2014-09-17 3 views
2

У меня есть методанимация изменить dismissViewControllerAnimated в

- (void) swipeRight 
{ 
[self dismissViewControllerAnimated:YES completion:nil]; 
} 

Что я использую, чтобы закрыть контроллер представления, когда пользователь пойло правильно. Мне не нравится анимация, которую предоставляет яблоко, когда вы отклоняете контроллер вида (страница идет вниз), и я хочу изменить его на другой, который предоставляет apple, при этом используя метод rejectViewControllerAnimated. Может ли кто-нибудь помочь мне изменить это?

+0

Заканчивать http://stackoverflow.com/questions/8956981/how-to-dismiss-a-modal-vc-with-fade-out-animation – Gismay

+0

, что ответ применяется только на iOS6 и вниз – MendyK

ответ

1

Попробуйте положить это как раз перед вашим увольняют:

CATransition* transition = [CATransition animation]; 
     transition.duration = 0.3; 
     transition.type = kCATransitionFade; 
     transition.subtype = kCATransitionFromTop; 

Затем установите анимированный: НЕТ

[self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; 
[self dismissViewControllerAnimated:NO completion:nil]; 

- Больше типов переходов, вы можете попробовать:

kCATransitionFade; 
kCATransitionMoveIn; 
kCATransitionPush; 
kCATransitionReveal; 
+0

I «Я не использую навигационный контроллер, я делаю все вручную в этом случае, поэтому это не работает для меня. Можете ли вы обновить его? thanks =) – MendyK

+0

Не уверен, вы можете попробовать self.view.layer ... вместо self.navigationController.view.layer – Adama

+0

Как насчет быстрой версии этого? – TomazStoiljkovic

3

Для @ Tomaž Stoiljkovič (и всех, кто интересуется Swift 4)

let transition = CATransition() 
    transition.duration = 0.3 
    transition.type = kCATransitionFade 
    transition.subtype = kCATransitionFromTop 

    navigationController?.view.layer.add(transition, forKey: kCATransition) 
    self.dismissViewControllerAnimated(false, completion: nil) 
Смежные вопросы