首先在storyboard里面定义连线,连的线,然后设置为custom的类型
然后新增一个UIStoryboardSegue的子类重写它的-(void)perform 方法
再把segue的属性segue class设置为你自己新建的那个segue的子类
-(void)perform{
UIViewController *dest = self.destinationViewController;
UIViewController *src = self.sourceViewController;
CGRect f = src.view.frame;
CGRect originalSourceRect = src.view.frame;
f.origin.y = f.size.height;
[UIView animateWithDuration:0.3 animations:^{
src.view.frame = f;
} completion:^(BOOL finished) {
src.view.alpha = 0 ;
dest.view.frame = f;
dest.view.alpha=0.0f;
[src.view.superview addSubview:dest.view];
[UIView animateWithDuration:0.3 animations:^{
dest.view.frame = originalSourceRect;
dest.view.alpha = 1.0f;
} completion:^(BOOL finished) {
[dest.view removeFromSuperview];
src.view.alpha = 1.0f;
[src.navigationController pushViewController:dest animated:NO];
}];
}];
}