2015-09-22 3 views
-3

Код:Как перенести этот код на Swift2?

override func viewDidLoad() { 
    super.viewDidLoad()   
    //animation 

    dialogView.transform = CGAffineTransformMakeScale(0.0, 0.0) 
    } 

override func viewDidAppear(animated: Bool) { 
      UIView.animateWithDuration(0.7, delay: 0.1, options: nil, animations: [self.dialogView.transform = CGAffineTransformMakeScale(1, 1)], completion: nil) 

Я получаю эти две ошибки:

Nil не совместим с ожидаемым типом аргумента «UIViewKeyframeAnimationOptions»

не может ссылаться на «animateWithDuration» со списком аргументов типа '(Double, delay: Double, options: NilLiteralConvertible, анимация: [()], завершение: NilLiteralConvertible)'

+0

Ваш блок анимации не является закрытием. Блок завершения, который у вас есть как массив, когда он должен быть «nil» в вашем случае. – Abizern

+0

даже после того, что вы сказали ?. Невозможно вызвать 'animateWithDuration' с помощью списка аргументов типа '(Double, delay: Double, options: NilLiteralConvertible, анимация: [()], завершение: NilLiteralConvertible)' – Ebin

+0

Ваш блок анимации ** все еще ** не является закрытием , –

ответ

1

Я думаю, что у вас возникли проблемы с пониманием синтаксис для этого:

Это то, что вы хотите написать:

override func viewDidLoad() { 
    super.viewDidLoad() 

    dialogView.transform = CGAffineTransformMakeScale(0.0, 0.0) 
} 

override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 

    UIView.animateWithDuration(
     0.7, 
     delay: 0.1, 
     options: [], 
     animations: {() -> Void in 
      self. dialogView.transform = CGAffineTransformMakeScale(1.0, 1.0) 
     }, completion: nil) 
} 

Точки отметить здесь:

  • options являются [] нет nil. варианты UIViewAnimationOptions, которые в Swift 2 имеют OptionSetType, поэтому они объединены с нотой Set not bitwise. Таким образом, для пустых опций передается пустой массив.

  • animations Параметр - это замыкание.

  • блок завершения nil не пустой комплект.

+0

большое вам спасибо. ставят вещи в лучшую сторону. я до сих пор хочу еще :) – Ebin

Смежные вопросы