Swift – UIView.transitionFromView –

前端之家收集整理的这篇文章主要介绍了Swift – UIView.transitionFromView –前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用UIView.transitionFromView后,“fromView”会发生什么?你怎么回来的? (重新初始化它?).

这是我制作的一个简单示例,当我尝试返回“fromView”或引用其上的标签等时,“致命错误:在展开可选值时意外发现nil”.

假设我已经在我的故事板中设置了这些视图 – 我在根目录中添加了一个名为“cardView”的子视图,然后在cardView下添加了一个名为“backView”和“frontView”的视图

将它们链接到视图控制器并将“翻转”按钮链接到看起来像这样的动作(以及变量):

@IBOutlet weak var backView: UIView!
@IBOutlet weak var frontView: UIView!
@IBOutlet var cardView: UIView!

var front = true

@IBAction func flipIt(sender: AnyObject) {
    if front {
        UIView.transitionFromView(self.frontView,toView: self.backView,duration: 1,options: UIViewAnimationOptions.TransitionFlipFromRight,completion: nil)
    } else {
        UIView.transitionFromView(self.backView,toView: self.frontView,options: UIViewAnimationOptions.TransitionFlipFromLeft,completion: nil)
    }
    front = !front
}

因此,当我运行它时 – 第一次点击“翻转”按钮就可以了,它翻转到后视图,但是当我再次点击它时,我得到“致命错误:在第二次打开一个可选值时意外发现nil” transitionFromView行(“else”下的行).

显然,我不理解transitionFromView的一些影响.我尝试过很多不同的东西,包括一个使用这个转换的教程,并且能够让它工作但它不使用故事板,所以我不知道如何应用它对我的故事板视图的影响,显然……

谢谢你的帮助.

您已将视图属性声明为弱,因此一旦看起来不再需要它们就会被释放.只需将它们变为强大(通过删除“弱”),你应该是金色的:
@IBOutlet var backView: UIView!
@IBOutlet var frontView: UIView!

猜你在找的Swift相关文章