• 网站首页
  • 关于我们
  • 产品中心
  • 项目案例
  • 技术支持
  • 开发问答
  • 联系我们
  • 当前位置
  • 网站首页 > ipad开发 >
  • 网站首页

    Charpter4 动态切换窗口

    • 字号
      特大 较大 标准 较小
    • 全屏阅读
    • 分享到

    在不同的窗口切换,但是它还不够,在很多iPad或者iphone的应用中动态的显示才能然我们的程序更加的美观,界面更加的友好.因此我们在切换窗口的时候加入动态的切换能使我们的程序更完美,来试试吧!

    例子:动态的切换Animating the Transitions

    1.用到上一节的例子MySecondViewController,在MySecondViewControlle.m文件中加入下面红色代码:

     

    -(IBAction) buttonClicked: (id) sender{
    //---add the view of the view controller to the current View---
    viewController = [[HelloWorldViewController alloc]
    initWithNibName:@“HelloWorldViewController”
    bundle:nil];
    [UIView beginAnimations:@“flipping view” context:nil];

     

    -(IBAction) buttonClicked: (id) sender{

    //---add the view of the view controller to the current View---

    viewController = [[HelloWorldViewController alloc]

    initWithNibName:@“HelloWorldViewController”

    bundle:nil];

    [UIView beginAnimations:@“flipping view” context:nil];

     

    [UIView setAnimationDuration:1];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft

    forView:self.view cache:YES];

    [self.view addSubview:viewController.view];

    [UIView commitAnimations];

    }

    2.在HelloWorldViewController.m文件中,加入下面的红色代码:

     

    -(IBAction) btnClicked:(id) sender{

    [UIView beginAnimations:@“flipping view” context:nil];

    [UIView setAnimationDuration:1];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];

    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight

    forView:self.view.superview cache:YES];

    [self.view removeFromSuperview];

    [UIView commitAnimations];

    }

    3.保存,C+R,运行点击Ok按钮,看看我们界面的切换的变化.如图:

    4-25.png      4-26.png

    嘿嘿,怎么样?是要比上一节生硬的切换好玩吧!

    这个是怎么样实现的呢?原理解释:

    这是由UIView类里面的beginAnimation:方法来现实的,就是这句

    [UIView beginAnimations:@“flipping view” context:nil];

    并且用setAnimationDuration:方法来制定动态的时间:(这里我们定义的是1秒钟,都是以秒为单位)

    [UIView setAnimationDuration:1];

    再用到setAnimationCurve:方法来设置动画的旋转曲度变化

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    我们可以根据后面的常量定义来修改动画的样式:

     

    ➤➤ UIViewAnimationCurveEaseInOut — 慢慢的开始,快速的过程,最后完成时刻又慢慢的结束

    ➤➤ UIViewAnimationCurveEaseIn — 慢慢的开始,直接加速到结束

     

    ➤➤ UIViewAnimationCurveEaseOut — 快速的开始,然后慢慢的结束

    ➤➤ UIViewAnimationCurveLinear — 匀速变化

    大家可以自己修改后,多试试看,so easy!

    通过setAnimationTransition:方法可以定义在动画的类型

     

     

     

    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft

    forView:self.view cache:YES];

    看上面这句,主要是定义你动画的样式的,比如右进左出啊,这些

    cache:参数定义是否将当前页面定义为一副图画进行动画操作,下面的这些常数可以定义我们动画的样式:

     

    ➤➤ UIViewAnimationTransitionNone — 没有过渡

    ➤➤ UIViewAnimationTransitionFlipFromLeft —翻转一个视图从左向右

    ➤➤ UIViewAnimationTransitionFlipFromRight — 翻转一个视图从右到左

    ➤➤ UIViewAnimationTransitionCurlUp — 从上卷动

    ➤➤ UIViewAnimationTransitionCurlDown — 从下卷动

    在这个动画的结尾,需要用到commitAnimations:方法

    [UIView commitAnimations];

    HelloWorldViewController中动画的显示与在MySecondViewControlle中的类似,除了在父子页面的定义,就是说是哪个是父窗口,哪个是子窗口self.view.superview:

     

    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight

    forView:self.view.superview cache:YES];


    iphone软件开发,安卓软件开发,无线时代,ios软件开发,android软件开发,ipad软件开发,电子菜谱,手机界面设计
    手机软件开发 返回网站首页

    发表评论

    验证码: 点击验证码

    项目案例Case

    iphone软件开发
    android软件开发
    window phone开发
    我们的优势

    开发问答Question & answer

    • Android支持哪些分辨率?
    • 如何发布应用到app store?
    • 如何在Android的模拟器 SD卡中添加文件
    • 如何编写高效的Android代码?
    • Android中判断网络功能是否可用
    • Android中如何获取手机屏幕大小
    • Android如何使用命令行查看sqlite3
    • Android中模拟器如何访问本地服务器
    • Android NDK开发的相关问题

    相关推荐Recommend

    • 如何检测程序运行在ipad上
    • ipad的创新战略
    • iPad缺些什么
    • iPad应用的10大用户体验设计准则
    • iPhone 移植到 iPad
    • iPad网页开发教程及规则
    • iPhone 移植到 iPad:
    • iPad网页开发教程及规则
    • ipad 多触式web前端开发之一:对于Touch的处理
    ©2010 WAPERA.CN Co., Ltd. All rights reserved.
    Makingware