Я пытаюсь использовать настраиваемый переход. Я хочу «покрыть вертикальный» переход от View Controller 1 до 2, а затем View Controller 2 (в середине) скользят вниз снова при переходе к View Controller 3. Раскадровка показано ниже:Custom segue не работает
http://i.stack.imgur.com/bJYXI.png
Im используя учебник, связанный с этим сообщением. А также заменил код .m с кодом, представленным в ответе:
Xcode custom segue - Opposite of Cover Vertical (top to bottom) - COMPLETE NEWBIE
Я создал подкласс UIViewController и назвал его FromTopReplaceSegue. Мой .h и .m код показан ниже:
.h
#import <UIKit/UIKit.h>
@interface FromTopReplaceSegue : UIViewController
@property(nonatomic, readonly) id sourceViewController;
@property(nonatomic, readonly) id destinationViewController;
@end
.m
#import "FromTopReplaceSegue.h"
@interface FromTopReplaceSegue()
@end
@implementation FromTopReplaceSegue
-(void)perform{
UIViewController *sourceViewController = (UIViewController *) self.sourceViewController;
UIViewController *destinationViewController = (UIViewController *) self.destinationViewController;
[sourceViewController.view addSubview:destinationViewController.view];
[destinationViewController.view setFrame:sourceViewController.view.window.frame];
[destinationViewController.view setTransform:CGAffineTransformMakeTranslation(0, -sourceViewController.view.frame.size.height)];
[destinationViewController.view setAlpha:1.0];
[UIView animateWithDuration:0.75
delay:0.0
options:UIViewAnimationOptionTransitionFlipFromTop
animations:^{
[destinationViewController.view setTransform:CGAffineTransformMakeTranslation(0, 0)];
[destinationViewController.view setAlpha:1.0];
}
completion:^(BOOL finished){
[destinationViewController.view removeFromSuperview];
[sourceViewController presentViewController:destinationViewController animated:NO completion:nil];
}];}
@end
Когда я пытаюсь запустить симулятор я могу легко получить от контроллера View 1 до 2 но он падает, когда я пытаюсь перейти от представления контроллера 2 к 3, используя пользовательский сегмент.
Может кто-нибудь помочь.
Большое вам спасибо! Борьба здесь! :)