2015-08-25 2 views
0

Я хотел бы преобразовать эту анимацию на основе View ниже в Layer.iOS8: View to Layer Animation

@IBOutlet weak var constraintTopContainerHeight: NSLayoutConstraint! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    var value:CGFloat 

    switch (someTag) 
    { 
    case 1: 
     value = CGFloat(self.view.bounds.height/3) 
    case 2: 
     value = CGFloat(self.view.bounds.height/2) 
    case 3: 
     value = CGFloat(self.view.bounds.height * 0.8) 
    default: 
     value = 0.0 
    } 

    UIView.animateWithDuration(1.5, delay: 0.0, 
     usingSpringWithDamping: 0.3, initialSpringVelocity: 0.0, 
     options: nil, animations: { 

     self.constraintTopContainerHeight.constant = value 
     self.view.layoutIfNeeded() 

     }, completion: nil) 
    } 
} 

Как получить ConstraintLayer использовать анимацию на основе вместо текущей анимации на основе View. Код, пожалуйста.

ответ

1

Прежде всего, вы должны установить ограничение за пределами своей анимации UIView.

Кроме того, вы не можете анимировать ограничения с помощью Core Animation.

Руководство по автоматической компоновке от Apple объясняет.

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html