【发布时间】:2018-12-27 17:05:01
【问题描述】:
在我的主屏幕中,我有一个 startGame 按钮,按下该按钮时会触发动画 (sender.pulsate()),然后还会更改 viewController:
@IBAction func newGamePressed(_ sender: UIButton) {
currentScore = 0
timeRemaining = 60
visualTime = "01:00"
sender.pulsate()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "firstLevel")
self.present(viewController, animated: false, completion: nil)
}
但是,新的 viewController 会立即出现,而不是等待脉动动画发生(脉动动画确实有效)。
我知道这与没有自上而下阅读的代码有关,但是我可以添加什么来告诉 xcode 在另一个之前运行一个?
谢谢!
ps。这是相关的脉动代码:
func pulsate() {
let pulse = CASpringAnimation(keyPath: "transform.scale")
pulse.duration = 0.6
pulse.fromValue = 0.95
pulse.toValue = 1.0
pulse.autoreverses = true
pulse.repeatCount = 2
pulse.initialVelocity = 0.5
pulse.damping = 1.0
layer.add(pulse, forKey: nil)
}
【问题讨论】:
标签: ios swift xcode viewcontroller