У меня немного анимации, и когда эта анимация заканчивается, я хочу, чтобы приложение автоматически нажимало следующий ViewController
. Хорошо, что ViewController
нажимается, как 8 раз подряд! Его довольно сумасшедший.animateWithDuration Завершение блока снова и снова
вот код:
if CGRectIntersectsRect(whichButton.frame, targetZoneImgView.frame) {
panGesture.cancelsTouchesInView = true
let buttonSnapX = UIScreen.mainScreen().bounds.width/2.0 - 35.0
let buttonSnapY = UIScreen.mainScreen().bounds.height - 122.0
UIView.animateWithDuration(0.75, delay: 0.0,
usingSpringWithDamping: 0.1,
initialSpringVelocity: 0.0,
options: UIViewAnimationOptions.CurveEaseOut,
animations: {
myButton.frame.origin.x = buttonSnapX
myButton.frame.origin.y = buttonSnapY
}, completion: { (finished: Bool) -> Void in
print("Animation done!")
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let coursesScreen = storyBoard.instantiateViewControllerWithIdentifier("coursesScreen") as! CoursesVC
self.navigationController!.pushViewController(coursesScreen, animated: true)
}
)
Это print("Animation done!")
заявление также пожары, как 8-9 раз подряд, так что его на самом деле не имеет ничего общего с тем, что я толкая ViewController. Я достал код ViewController
- и его все еще происходит.
В принципе, ничего Я положил completion
стреляет целую кучу раз подряд.
Что происходит в мире?
Я никогда не сталкивался с этим раньше, но вижу, если он остановится, если вы не используете анимацию весны. (Просто классический 'animateWithDuration: анимация: завершение:') Если это исправление, то я ставлю, что яблоко делает что-то очень глупо в своей весенней анимации! –