2

UIButtonアニメーションの後の問題があります。ステップを説明します。

画像が入ったボタンが 1 つあります。ボタンをタップすると、フレームをアニメーション化して幅が広くなり、フレームが適切なサイズになったらテキストを追加します (左側に画像、右側にテキストがあります)。
最初にアニメーションを開始すると、画像が完全に左に傾いていて、その理由がわかりません。最初のフレームに戻ると、画像が完全に私のUIButton.

より説明するためのいくつかの画面があります:

http://pastebin.com/6MQ5xyA8 (申し訳ありませんが、10 ポイントの評判がなければ複数のリンクを貼り付けることはできません)

そして、これは私のコードです:

// Extand
CGRect loginSize = self.nvButtonConnect.frame;
loginSize.size.width = 297;
loginSize.size.height = 48;
CABasicAnimation *sizeAnimation = [CABasicAnimation animationWithKeyPath:@"bounds"];
sizeAnimation.fromValue = [NSValue valueWithCGRect:self.nvButtonConnect.frame];
sizeAnimation.toValue = [NSValue valueWithCGRect:loginSize];
[sizeAnimation setRemovedOnCompletion:NO];
sizeAnimation.fillMode = kCAFillModeForwards;

// Go back (in another method)
CGRect loginSize = self.nvButtonConnect.frame;
loginSize.size.width = 48;
loginSize.size.height = 48;
CABasicAnimation *sizeAnimation = [CABasicAnimation animationWithKeyPath:@"bounds"];
sizeAnimation.fromValue = [NSValue valueWithCGRect:self.nvButtonConnect.frame];
sizeAnimation.toValue = [NSValue valueWithCGRect:loginSize];
[sizeAnimation setRemovedOnCompletion:NO];
sizeAnimation.fillMode = kCAFillModeForwards;

何か考えはありますか?
カスタム contentEdgeInset、TitleEdgeInset、ImageEdgeInset を試してみましたが、何も機能していないようです。

4

1 に答える 1

1

frameに値を設定していますbounds。これは、ビューの座標系の原点を置き換えています。bounds一貫して使用すれば、うまくいくはずです。

于 2013-04-25T13:01:35.683 に答える