首先在storyboard里面定义连线,连的线,然后设置为custom的类型
然后新增一个UIStoryboardSegue的子类重写它的-(void)perform 方法
再把segue的属性segue class设置为你自己新建的那个segue的子类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
-(
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];
}];
}];
}
|