2016-09-19 2 views
-1

У меня возникла проблема с анимацией моих кнопок, когда я создаю их с помощью addubview. Все они появляются сразу, даже когда я увеличиваю задержку анимации в моем цикле. Я был бы признателен всем, кто может помочь.Добавление анимации при создании нескольких подзонов в swift

func createButton() { 
    var setx = 50 
    var sety = 100 
    var delay = 0.4 
    var wordsInCharacters = [String]() 
    for letter in "RAILROAD".characters{ 
     wordsInCharacters.append("\(letter)") 
    } 
    while wordsInCharacters.count > 0 { 
     let randomIndex = Int(arc4random_uniform(UInt32(wordsInCharacters.count))) 
     // Creating the buttons 
     let button = SpringButton() 
     button.frame = CGRect(x: setx, y: sety, width: 64, height: 64) 
     button.setTitle("\(wordsInCharacters[randomIndex])", for: .normal) 
     button.setTitleColor(UIColor.white, for: .normal) 
     button.backgroundColor = UIColor.gray 
     button.titleLabel?.font = UIFont(name: "HelveticaNeue", size: 30) 
     // Add animation 
     UIView.animate(withDuration: 1, delay: delay, options: .curveEaseInOut, animations: { 
      self.view.addSubview(button) 
     }, completion: nil) 
     if setx <= 200 { 
      setx += 100 
     } 
     else{ 
      setx = 50 
      sety += 100 
     } 
     wordsInCharacters.remove(at: randomIndex) 
     delay += 0.2 

    } 
} 
+0

какую анимацию вы хотите сделать для кнопок? исчезать? – xmhafiz

+1

Проблема в том, что «addSubview» не является волшебной анимацией. В анимационной функции 'UIView.animate' можно анимировать только анимационные свойства вида. Нет ничего о концепции добавления подматрицы, которая является анимируемой; это даже не видимая собственность! – matt

ответ

1

Для создания простой анимации не добавляйте представления в блок анимации. Сначала установите значение Button Alpha равным 0, а затем добавьте кнопку в качестве подсмотра. В анимационном блоке u установите button.alpha на 1. Voila ...

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