IOS视图切换

来源:互联网 发布:模糊控制算法matlab 编辑:程序博客网 时间:2024/05/18 14:22

插入两张图片 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 UIKitclass 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)        }    }}
0 0
原创粉丝点击