次の方法を使用してボタンを回転させようとしています。
-(IBAction)rotate:(id)sender{
CGPoint pencilCenter = pencil.center;
[pencil setCenter:pencilCenter];
CGFloat floater = 1.0;
[UIView animateWithDuration:0.7 animations:^(void){
[pencil setTransform:CGAffineTransformMakeRotation(floater)];
}];
[UIView animateWithDuration:0.7 animations:^(void){
[pencil setTransform:CGAffineTransformMakeRotation(floater)];
}];
}
これは、ボタンにある種の「シェイク」を行わせることになっています。その後、元の位置に戻るはずですが、ボタンの位置を変更して、ボタンを片側だけに移動し、別のメソッドを実行すると、ボタンが全く反応しません。
私のコードの問題は何ですか?
ありがとう!
EDIT 2:私の質問は、たとえば、sptingboardを編集するときのウィグルアプリモードなど、少しシェイク/ウィグルするボタンを作成する方法です。
このコードを使用すると、左に回転し、左から右に、次に右から左に滑らかにアニメーション化され、元の位置に回転します。今、私はこれを回転させるだけでなく、ウィグルのようなアニメーションでこれを行いたい.
[UIView animateWithDuration:0.25
delay:0.0
options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationCurveLinear | UIViewAnimationOptionAutoreverse)
animations:^ {
pencil.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(30));
pencil.transform = CGAffineTransformIdentity;
}
completion:^(BOOL finished){
}
];
ありがとう!