IOS视图切换

插入两张图片 1和2,在故事版中拖入两个image view 分别绑定这两张图片,按住control拖入viewcontroller中选择IBOutlet名称分别为image和img2,在view controller中定义一个布尔类型一会判断要用到

    private var rectVisible:Bool = true

在面板中先显示第一张图片

    override func viewDidLoad() {

        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.view.addSubview(img1) //第一张图片

    }

重写一个方法

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

        func completeHandle(v:Bool){
        println("点击了图片")
            rectVisible = !rectVisible
    }
//        UIView.transitionFromView(img1, toView: img2, duration: 1.0, options: UIViewAnimationOptions.TransitionCrossDissolve, completion: completeHandle)
//每点击一次切换一次图片
        if rectVisible{
            UIView.transitionFromView(img1, toView: img2, duration: 1.0, options: UIViewAnimationOptions.TransitionCrossDissolve, completion: completeHandle)
        }else{
            UIView.transitionFromView(img2, toView: img1, duration: 1.0, options: UIViewAnimationOptions.TransitionFlipFromRight, completion: completeHandle)
        }
    }
    //duration:间隔时间
    //UIViewAnimationOptions:动画效果

viewcontroller源码如下

import UIKit

class ViewController: UIViewController {


    private var rectVisible:Bool = true

    @IBOutlet var img2: UIImageView!
    @IBOutlet var img1: UIImageView!

    override func viewDidLoad() {

        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.view.addSubview(img1)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }



    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

        func completeHandle(v:Bool){
        println("Anim complete")
            rectVisible = !rectVisible
    }
//        UIView.transitionFromView(img1, toView: img2, duration: 1.0, options: UIViewAnimationOptions.TransitionCrossDissolve, completion: completeHandle)
        if rectVisible{
            UIView.transitionFromView(img1, toView: img2, duration: 1.0, options: UIViewAnimationOptions.TransitionCrossDissolve, completion: completeHandle)
        }else{
            UIView.transitionFromView(img2, toView: img1, duration: 1.0, options: UIViewAnimationOptions.TransitionFlipFromRight, completion: completeHandle)
        }
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值