2017-03-28 5 views
0

私はちょっと迷惑な問題があります。私はUITextViewのプレースホルダを表示するために使用するCATextLayerを持っています。実際、このレイヤーをアニメートすると、その速度が小さすぎ、アニメーション中に「ジャンプ」することがあります。私は、速度パラメータでUIView.animateを使用しますが、無視します。問題がある可能性がどのようなCATextLayerのフォントサイズアニメーションの速度

GIF FILE:

DispatchQueue.main.async { 
    UIView.animate(
     withDuration: 0.2, 
     delay: 0.0, 
     usingSpringWithDamping: 1.0, 
     initialSpringVelocity: 1.0, // Ignore any options 
     options: .curveEaseOut, 
     animations: { 
      self.floatingLabel?.fontSize = 10 
      self.floatingLabel?.frame = self.toggledFloaterFrame 
     }) 
} 

答えて

-1

fontSizeの動画のアニメーションはできません。 transformを使用してスケールを縮小してみてください。

CGAffineTransform(scaleX: scale, y: scale)scaleとし、10/self.floatingLabel.fontSizeCGAffineTransform.identityを使用すると、フルサイズに戻ることができます。

+0

CATextLayerプロパティfontSizeはアニメーション可能です、gifを確認してください –

+0

@ДимитрийПоляковラベル内のテキストの3つの動きを抽出しました。フォントサイズは「アニメート」しません。サイズが小さくなるたびにジャンプします。 http://imgur.com/a/kSiz0 – vrwim

+0

さて、私は今それを参照してください。 CGAffineTransformは助けてくれました。私はドキュメンテーションでmacosのアニメーションだけが利用可能であることを発見しました –