gpt4 book ai didi

swift - UIView.transitionFromView -

转载 作者:IT王子 更新时间:2023-10-29 05:50:03 26 4
gpt4 key购买 nike

使用 UIView.transitionFromView 后,“fromView”会发生什么变化?你怎么把它拿回来? (重新初始化它?)。

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

假设我在 Storyboard中设置了这些 View - 我在 Root View 中添加了一个名为“cardView”的 subview ,然后在 cardView 下添加了 2 个 View ,分别称为“backView”和“frontView”

将它们链接到 View Controller 并将翻转按钮链接到一个看起来像这样的 Action (连同变量):

@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, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)
}
front = !front
}

因此,当我运行它时 - 第一次点击“翻转”按钮时效果很好,它会翻转到 backView,但是当我再次点击它时,我会收到“ fatal error :在展开可选值时意外发现 nil”在第二个 transitionFromView 行(“else”下的那个)。

显然我不明白 transitionFromView 的一些效果。我已经尝试了很多不同的东西,包括一个使用这个过渡并能够让它工作的教程,但它没有使用 Storyboard ,所以我不确定如何将 tut 的操作方式应用到我的 Storyboard View 中, 显然...

感谢您的帮助。

最佳答案

您已将您的 View 属性声明为弱,因此一旦它们不再需要它们就会被释放。只需将它们更改为 strong(通过删除“weak”),你应该是金色的:

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

关于 swift - UIView.transitionFromView -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30291891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com