我正在创建一个棋盘游戏,其中每个棋盘片都是一个视图控制器的实例。我已经将UIStoryboardSegue子类化,以便每个部分顺利地从一个流到另一个。但是,在过渡期间,我的游戏片段在此框架中保持居中。我想拥有它以便我的gamePiece(一个UIImageView)在整个过渡期间保持在屏幕的中心,但是没有任何运气搜索。
这是我的Segue子类,如果它有帮助的话:
import UIKit
import QuartzCore
class RightToLeftSegue: UIStoryboardSegue {
override func perform() {
let src: UIViewController = self.sourceViewController
let dst: UIViewController = self.destinationViewController
let transition: CATransition = CATransition()
let timeFunc : CAMediaTimingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
transition.duration = 1.25
transition.timingFunction = timeFunc
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromLeft
src.navigationController!.view.layer.addAnimation(transition, forKey: kCATransition)
src.navigationController!.pushViewController(dst, animated: true)
}
}
答案 0 :(得分:1)
您可以在转换发生之前将此UIImageView作为子视图添加到窗口。这样您就可以在整个转换过程中使用它。 如果这对您有用,请告诉我。