码迷,mamicode.com
首页 > 移动开发 > 详细

iOS项目开发实战——实现视图切换动画

时间:2015-08-18 21:30:39      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:swift   ios   视图切换   动画   

       不同界面或者说不同视图之间进行切换是应用程序的一种最常见的动态效果,无论是哪一种平台的项目开发,默认的视图切换往往是十分单调的,没有任何动画的,界面的切换也是非常的突兀。如果说使用动画效果使界面能够活跃起来,那么你的App将会非常动感。这里将实现视图切换过程中的动画效果。具体实现如下:

(1)本次试验将拖入2张图片,不直接放到View Controller中,而是在代码中动态加载。拖到Main.storyboard中后目录结构如下:

技术分享


(2)实现图片与代码Outlet绑定:

    @IBOutlet weak var image1: UIImageView!
    @IBOutlet weak var image2: UIImageView!

(3)在ViewController中实现如下代码:

import UIKit

class ViewController: UIViewController {

    
    @IBOutlet weak var image1: UIImageView!
    @IBOutlet weak var image2: UIImageView!
    
    var isFirstPic:Bool = true    //判断是否是第一张图片;使2张图片能循环切换;
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addSubview(image1)   //首先加载第一张图片;
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
        
        func complete(v:Bool){     //每一次视图切换后执行的操作;
        
            println("Already Complete ")
            isFirstPic = !isFirstPic
        }
        
        if(isFirstPic){   //第一张图片切换到第二张图片;
        
            UIView.transitionFromView(image1, toView: image2, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: complete)
     
        }
        else{    //第二张图片切换到第一张图片;
        
            UIView.transitionFromView(image2, toView: image1, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromTop, completion: complete)
            
        }
        
    }

    
}

(4)注意UIViewAnimationOptions是切换动画的选项,可以看到里面后多个选项,共有8种动画效果:大家可以自己尝试一下,总有一款适合你的。

技术分享.

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS项目开发实战——实现视图切换动画

标签:swift   ios   视图切换   动画   

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47757669

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