0

UIButton アニメーションを作成して、ボタンを画面内で高速にスライドさせ、中央に到達すると速度を落とし、次に速度を上げて反対側の画面を終了できるかどうか疑問に思っていました。ボタンを押す必要がないので、次を使用します。

userInteractionEnabled = NO;

これは私がやろうとしたことです:

UIButton* buttonNumberCountTutorial = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[buttonNumberCountTutorial setTitle:@"2" forState:UIControlStateNormal];
[buttonNumberCountTutorial setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[buttonNumberCountTutorial.titleLabel setFont:[UIFont fontWithName:@"Zapfino" size:40]];
buttonNumberCountTutorial.frame = CGRectMake(-400, 430, 400, 400);
[buttonNumberCountTutorial setBackgroundImage:[UIImage imageNamed:@"socialize-navbar-bg.png"]forState:UIControlStateNormal];
[baseView addSubview:buttonNumberCountTutorial];
[UIView animateWithDuration:1.9f
                 animations:^{

        buttonNumberCountTutorial.frame = CGRectMake(20, 430, 200, 200);

        }
              completion:^(BOOL finished){

                  [buttonNumberCountTutorial removeFromSuperview];
    }];
4

1 に答える 1

2

アニメーション オプションを定義できます。あなたのための興味深いオプション

UIViewAnimationOptionCurveEaseInOut
UIViewAnimationOptionCurveEaseIn 
UIViewAnimationOptionCurveEaseOut
UIViewAnimationOptionCurveLinear

これらのオプションを使用できるようにするには、UIView の次の Class メソッドを使用する必要があります。

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

もちろん、完了ブロックで新しいアニメーションを開始することで、ネストされたアニメーションを作成できます。

于 2013-03-27T15:57:30.400 に答える