自定义视图切换效果

先创建一个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
时间: 2025-01-05 19:56:34

自定义视图切换效果的相关文章

ios--防照Safari浏览器视图切换效果

ios--防照Safari浏览器视图切换效果:http://download.csdn.net/detail/haogaoming123/8505513 视图切换效果.自己定义的. 效果图例如以下:

ios视图切换效果

我们经常进行视图间的切换,比如present效果从下边向上推出,这里我们可以写如下代码,来改变切换视图的样式.     A *a = [[A alloc]init];    [a setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];    [self presentViewController:a animated:YES completion:nil]; 这样就可以达到一种溶解的样式,其他的类型可以进头文件自行选择.

UIVIewController自定义切换效果-b

之前介绍动画时提过UIView的转场动画,但是开发中我们碰到更多的viewController的切换,ios中常见的viewcontroller切换有四种:模态视图,导航栏控制器,UITabBarController以及addchildviewcontroller,自定义viewcontroller动画切换也是ios7中的新特性,这里整理下常见的操作,outline如下(本文参考http://onevcat.com/2013/10/vc-transition-in-ios7/,代码下载地址为ht

UIVIewController自定义切换效果

之前介绍动画时提过UIView的转场动画,但是开发中我们碰到更多的viewController的切换,ios中常见的viewcontroller切换有四种:模态视图,导航栏控制器,UITabBarController以及addchildviewcontroller,自定义viewcontroller动画切换也是ios7中的新特性,这里整理下常见的操作,outline如下(本文参考http://onevcat.com/2013/10/vc-transition-in-ios7/,代码下载地址为ht

自定义ModalViewController 动画效果

iOS 7 自定义ViewController动画切换 自定义动画切换的相关的主要API 在深入之前,我们先来看看新SDK中有关这部分内容的相关接口以及它们的关系和典型用法.这几个接口和类的名字都比较相似,但是还是能比较好的描述出各自的职能的,一开始的话可能比较迷惑,但是当自己动手实现一两个例子之后,它们之间的关系就会逐渐明晰起来.(相关的内容都定义在UIKit的UIViewControllerTransitioning.h中了) @protocol UIViewControllerContex

iOS7新特性 ViewController转场切换(三) 自定义视图控制器容器的切换---非交互式

@继续前面的内容,这一章,主要介绍自定义ViewController容器上视图VC的切换.先来看看系统给我们提供的容器控制器 UINavigationController和UITabBarController 都有一个NSArray类型的属性viewControllers,很明显,存储的就是需要切换的视图VC.同理,我们定义一个ContainerViewController,是UIViewController的直接子类,用来作为容器依托,额,其他属性定义详见代码吧,这里不多说了.(PS:原先我进

故事板和自定义切换效果

1.故事板并不完美,它由一些明显的不足之处.但是故事板是构建用户界面的趋势,以及如何使用故事板来完成用nib文件完成的事情(比如和控制器进行通信). 2.添加故事板:方式和添加新文件的方式相同.事实上,从Xcode 5开始,就已经默认打开了Use Storyboard选项,这使得从应用删除故事板变得更加困难了. 3.info.plist中的属性:使用故事板创建新工程时,应用的info.plist键中含有一个名为UIMainStoryboardFile的键.这个键取代了iOS5以前使用的NSMai

自定义视图控制器切换(iOS)

在iOS开发过程中,通常我们会使用UINavigationController,UITabbarController等苹果提供的视图控制器来切换我们的视图.在iOS5之前,如果要自定义容器视图控制器很麻烦,比如你要考虑到子视图的生命周期,当设备旋转时的情况等,好在iOS5中苹果提供了添加视图控制器(addChildViewController)等管理视图控制器的API,这样我们就能使用此API来自定义自己的视图控制器了,这篇文章只要介绍如何使用此API实现UITabbarController的基

自定义视图引擎,实现MVC主题快速切换

一个网站的主题包括布局,色调,内容展示等,每种主题在某些方面应该或多或少不一样的,否则就不能称之为不同的主题了.每一个网站至少都有一个主题,我这里称之为默认主题,也就是我们平常开发设计网站时的一个固定布局,固定色调,固定内容展示等构成一个默认的固定主题.单一主题针对一些小网站或网站用户群体相对单一固定还是比较适用的,但如果是大型网站或是网站的用户群体比较多而且复杂,如:京东,博客园里的每个博客空间.文俊IT社区网(我的网站,虽不是大型网站,但也实现了主题切换功能的哦!~)等,是需要多个网站主题的