Swift - UIView.transitionFromView -
Swift - UIView.transitionFromView -
使用 UIView.transitionFromView 后,您的“fromView”会发生什么变化?你怎么把它拿回来? (重新初始化?)。
这是我制作的一个简单示例,当我尝试返回“fromView”或引用其上的标签等时出现“致命错误:在展开可选值时意外发现 nil”
假设我在故事板中设置了这些视图 - 我在根视图中添加了一个名为“cardView”的子视图,然后在 cardView 下添加了 2 个视图,分别称为“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, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)
}
front = !front
}
所以当我 运行 这个 - 第一次点击“翻转”按钮时没有问题,它翻转到 backView,但是当我再次点击它时我得到“致命错误:意外发现 nil在第二个 transitionFromView 行(“else”下的行)上展开可选值”。
显然有一些我不明白的transitionFromView效果。我已经尝试了很多不同的东西,包括一个使用这个过渡并能够让它工作的教程,但它没有使用情节提要,所以我不确定如何将 tut 的操作方式应用到我的情节提要视图中, 显然...
感谢您的帮助。
您已将您的视图属性声明为弱,因此一旦它们不再需要它们就会被释放。只需将它们更改为 strong(通过删除 "weak"),你应该是金色的:
@IBOutlet var backView: UIView!
@IBOutlet var frontView: UIView!
使用 UIView.transitionFromView 后,您的“fromView”会发生什么变化?你怎么把它拿回来? (重新初始化?)。
这是我制作的一个简单示例,当我尝试返回“fromView”或引用其上的标签等时出现“致命错误:在展开可选值时意外发现 nil”
假设我在故事板中设置了这些视图 - 我在根视图中添加了一个名为“cardView”的子视图,然后在 cardView 下添加了 2 个视图,分别称为“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, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)
}
front = !front
}
所以当我 运行 这个 - 第一次点击“翻转”按钮时没有问题,它翻转到 backView,但是当我再次点击它时我得到“致命错误:意外发现 nil在第二个 transitionFromView 行(“else”下的行)上展开可选值”。
显然有一些我不明白的transitionFromView效果。我已经尝试了很多不同的东西,包括一个使用这个过渡并能够让它工作的教程,但它没有使用情节提要,所以我不确定如何将 tut 的操作方式应用到我的情节提要视图中, 显然...
感谢您的帮助。
您已将您的视图属性声明为弱,因此一旦它们不再需要它们就会被释放。只需将它们更改为 strong(通过删除 "weak"),你应该是金色的:
@IBOutlet var backView: UIView!
@IBOutlet var frontView: UIView!