2017-10-30 18 views
1

keyframeAnimationを使用してUIViewのサイズを変更するのではなく、ラベルテキストをアニメーション化して同期させる必要があります。CAKeyframeAnimationスケール

は、だから私は、セットアップのサイズのアニメーション

 let sizeAnimation = CAKeyframeAnimation(keyPath: "transform.scale") 
     sizeAnimation.duration = 1.2 

     let animationTime = TimeInterval(1.2/Float(volumeObjects.count - 1)) 
     // Stride is an inverted for in, it goes from volumeObjects count to 0 

     var sizeAnimationValuesArray = [NSValue]() 
     var keyTimes = [NSNumber]() 
     var currentKeyTime: TimeInterval = 0 
     for index in stride(from: volumeObjects.count - 1, to: -1, by: -1) { 

      let currentPercentage = CGFloat(index)/CGFloat(volumeObjects.count) 
      sizeAnimationValuesArray.append(NSValue(caTransform3D: CATransform3DMakeScale(1.0, currentPercentage, 1.0))) 
      keyTimes.append(NSNumber(value: currentKeyTime)) 
      currentKeyTime += animationTime 
     } 
     sizeAnimation.values = sizeAnimationValuesArray 

     self.indicatorView.layer.add(sizeAnimation, forKey: "Bottom") 

ましたが、何らかの理由で、それが動作しない、文字通り何もあなたが実際には何のためにkeyTimes配列を使用していない

答えて

3

を起こりません。あなたは時間を入力しましたが、あなたはそれをアニメーションに割り当てませんでした。

関連する問題