2012-02-03 12 views
4

アニメーション内のUILabelの幅を小さくしようとしていますが、アニメーションなしで瞬時に幅が変わります!幅を広げれば、すべて正常に動作し、アニメーションを見ることができます。ここでUILabelの幅のアニメーション表示が表示されない

は私のコードです:

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationCurveLinear 
       animations:^ (void){ 
         CGRect theNewFrame  = self.titleLabel.frame; 
         theNewFrame.size.width -= 50.0; 
         self.titleLabel.frame = theNewFrame; 
       } 
       completion:^(BOOL finished){}]; 

私は

theNewFrame.size.width += 50.0; 

theNewFrame.size.width -= 50.0; 

を変更するのであれば、あなたはラベルが増加見ることができます。しかし、幅の縮小はうまくいかない!

私はこの動作について説明しません。これはバグですか?

ありがとうございました!

+0

は、あなたの 'titleLabel'幅が50未満であればいいですか? –

+0

いいえ、最小サイズは100です。 – Binski

+0

これにはどんな解決策がありましたか?私もここにこだわっています – inforeqd

答えて

1

アニメーションを開始する前に、ラベルcontentModeUIViewContentModeCenterに設定してみてください。

self.titleLabel.contentMode = UIViewContentModeCenter; 
+0

これは古い話題ですが、UILabelに背景があると何が間違っているのか分かります。実際にアニメーション化されていないようです – ton

関連する問題