0

UIButtonFacebookの「いいね」アニメーションと同様に、画像を現在のサイズから2倍のサイズに変換してから、元のサイズに戻したいと思います。

私はこのコードを使用していますが、何らかの理由で逆のアクションを実行しています。つまり、最初に縮小してから、再び大きくなります。

私は何を間違っていますか?では完全に機能しますが、では機能しuiimageViewませんuibutton

[self.likeButton setClipsToBounds:NO];
CGAffineTransform firstTransform = self.likeButton.imageView.transform;
[UIView animateWithDuration:.15f animations:^{

    self.likeButton.imageView.transform = CGAffineTransformScale(firstTransform, 2, 2);

} completion:^(BOOL finished) {

    [UIView animateWithDuration:.15f animations:^{

        self.likeButton.imageView.transform = firstTransform;
    }];
}];
4

3 に答える 3

1

レイヤーにはプロパティがmasksToBoundsあり、UIView には がありclipsToBoundsます。ほとんどの場合、ボタンはプライマリ ビューまたはサブビューでこれらが YES に設定されています。これらが YES に設定されているものを見つけて、一時的に NO に設定できる可能性があります。

于 2013-06-06T13:46:24.620 に答える
1

誰かが興味を持っている場合は、ボタンの上に uiimageview を追加してボタン画像の代わりにアニメーション化することで解決しました。

そのハックですが、その作業。

于 2013-06-09T07:38:21.030 に答える
0

//set button.masktobound=NO

[UIView animateWithDuration:.15f animations:^{

 self.likeButton.imageView.transform = CGAffineTransformMakeScale(2.0,2.0);

} completion:^(BOOL finished) {

[UIView animateWithDuration:.15f animations:^{

    self.likeButton.imageView.transform = CGAffineTransformMakeScale(1.0,1.0);
}];
}];

//これを試して

于 2013-06-06T13:47:28.653 に答える