2015-12-25 2 views
3

Как я могу анимировать представление стека, чтобы начать с x=0 up to y=500, у меня есть следующий метод в viewDidLoad(), который оказывает растущее влияние.Сдвинуть анимацию в Swift

StackView.transform = CGAffineTransformMakeScale(0.0, 0.0) 

И затем я добавил растущий эффект в viewDidAppear() методе

UIView.animateWithDuration(0.4, delay: 0.0, options: [], animations: { 
self.StackView.transform = CGAffineTransformIdentity 
}, completion: nil) 

После того, как метод viewDidLoad выполняет, вид стека сведен к минимуму. Когда метод viewDidLoad завершается, вызывается метод viewDidAppear и начинается анимация, и представление стека начинает расти. Анимация останавливается, когда представление стека достигает исходного размера.

Хотя это хороший эффект, которого я не хочу достичь, я хочу, чтобы анимация скользила с x = 0 and stops at y = 500. Я попытался добавить следующий код в viewDidLoad для достижения этого эффекта, но я все равно получаю тот же эффект. Любые предложения о том, как это сделать?

StackView.transform = CGAffineTransformMakeTranslation(0, 500) 

ответ

7

You're почти там просто сделать несколько изменений

// These values depends on the positioning of your element 
let left = CGAffineTransformMakeTranslation(-300, 0) 
let right = CGAffineTransformMakeTranslation(300, 0) 
let top = CGAffineTransformMakeTranslation(0, -300) 

UIView.animateWithDuration(0.4, delay: 0.0, options: [], animations: { 
     // Add the transformation in this block 
     // self.container is your view that you want to animate 
     self.container.transform = top 
}, completion: nil) 
Смежные вопросы