码迷,mamicode.com
首页 > 其他好文 > 详细

自定义视图切换效果

时间:2016-02-25 22:59:49      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

 先创建一个UIStoryboardSegue子类并覆盖perform方法。在perform方法中,拿到指向源视图控制器的主视图图层的指针,然后实现自定义切换动画(使用Core Animation)。一旦动画完成,就可以推送(push)到目标视图控制器(可以从联线对象中获得一个指向该视图控制器的指针)。

#import "CustomSegue.h"

@implementation CustomSegue
-(void)perform
{
    UIViewController*src=(UIViewController*)self.sourceViewController;
    UIViewController*dest=(UIViewController*)self.destinationViewController;
    
    CGRect f=src.view.frame;
    CGRect oringinalSourceRect=src.view.frame;
    f.origin.y=f.size.height;
    
    [UIView animateWithDuration:5 animations:^{src.view.frame=f;} completion:^(BOOL finished){
        src.view.alpha=0;
        dest.view.frame=f;
        dest.view.alpha=0.0;
        [[src.view superview]addSubview:dest.view];//窗口添加子视图
        
        [UIView animateWithDuration:5 animations:^{dest.view.frame=oringinalSourceRect; dest.view.alpha=1.0;} completion:^(BOOL finished){
            [dest.view removeFromSuperview];
            src.view.alpha=1.0f;
            [src.navigationController pushViewController:dest animated:NO];
        }];
    }];
}

@end

 

自定义视图切换效果

标签:

原文地址:http://www.cnblogs.com/caomeinatie/p/5218507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!