0

初期サイズから元のサイズにスケーリングしながらx軸に沿って移動するUIButtonアニメーションに取り組んでいます。以下のコードを試してみると、本来あるべき場所に移動せず、元のサイズに拡大されません。

これはボタンを初期化するための私のコードです:

 _testBtn1.layer.anchorPoint = CGPointMake(0.5f, 0.5f);
scaleBtn = CGAffineTransformMakeScale(0.2, 0.2);
[_testBtn1 setTransform: scaleBtn];

そして、これは移動/翻訳とスケーリングのための私のコードです:

CGAffineTransform translate = CGAffineTransformMakeTranslation(50.0f, 0.0f);
CGAffineTransform animate = CGAffineTransformConcat(scaleBtn, translate);
[_testBtn1 setTransform:animate];

ヘルプ、提案、アドバイスをいただければ幸いです。私はiOSが初めてです..ありがとう!

4

4 に答える 4

1

カスタムタイプのUIButtonを作成するだけです(IBを使用してタイプをカスタムに変更するか、プログラムで

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];//set the button's image with 
[aButton setImage:[UIImage imageNamed:@"abc" forState:UIControlStateNormal];

それを動かすには、その位置を普通にアニメートするだけです...

[UIView animateWithDuration:0.5 animations:^{aButton.center = newCenter;}];

または

CGRect originalFrame = aButton.frame;
aButton.frame = CGRectMake(originalFrame.origin.x, originalFrame.origin.y, originalFrame.size.width, 0);
[UIView animateWithDuration:0.5 animations:^{aButton.frame = originalFrame;}];

または、このリンクを参照してください http://objectiveapple.blogspot.in/2011/10/23-quizapp-16-animate-scale-uibutton.html

于 2013-08-12T09:52:52.440 に答える
0

これはコア アニメーションで簡単に行うことができます。最も基本的なものであるCABasicAnimationを見てください。

于 2013-08-12T09:56:02.103 に答える
0

Swift で完了ハンドラーを実装した単純なスケール (弾む) アニメーション。

あなたや他の誰かに何らかの形で役立つことを願っています。

viewToanimate.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) UIView.animate(withDuration: 0.7, delay: 0, usingSpringWithDamping: 0.2, initialSpringVelocity: 6.0, animations: { _ in viewToAnimate.transform = .identity }, completion: { _ in //Implement your awesome logic here. })

于 2016-11-28T08:34:09.857 に答える