Xcodeで完全に動作するビューアニメーションがあります(CGRectでボタンをクリックして画面をスライドさせます)。残念ながら、ボタンを2回クリックしてアニメーションを実行する必要があります。私は何を間違えたのですか?私は、任意のフィードバックボタンが1回ではなくダブルクリックで起動する
はここに私の.Hコードが
@interface AnimationBlocksViewController : UIViewController{
IBOutlet UIView *theview;
IBOutlet UIView *theview2;
BOOL isAnimated;
BOOL switchback;
}
-(IBAction)animate:(id)sender;
-(IBAction)change:(id)sender;
だ。ここに私.Mコードが
-(IBAction)animate:(id)sender;{
if (isAnimated) {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[theview setFrame:CGRectMake(0, 0, 320, 460)];
[theview2 setFrame:CGRectMake(320, 0, 320, 460)];
[UIView commitAnimations];
isAnimated=NO;
}
else{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[theview setFrame:CGRectMake(-320, 0, 320, 460)];
[theview2 setFrame:CGRectMake(0, 0, 320, 460)];
[UIView commitAnimations];
isAnimated=YES;
}
}
-(IBAction)change:(id)sender;{
if (switchback) {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[theview2 setFrame:CGRectMake(0, 0, 320, 460)];
[UIView commitAnimations];
switchback=NO;
}
else{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[theview2 setFrame:CGRectMake(320, 0, 320, 460)];
[theview setFrame:CGRectMake(0, 0, 320, 460)];
[UIView commitAnimations];
switchback=YES;
}
}
だそれは動作しますが、私はアニメーションをトリガするためにダブルクリックする必要があり、私が間違って何をした感謝します? ありがとう
私はこれらのアニメーションの状態を変更し、何が起こるかを見てみましょう。ボタンは現在、ダブルクリックでビューをアニメートします –
はい!出来た!私のボタンのアニメーションの状態を変更すると、問題が解決しました。darvidsOn –
(私はすべてのアニメーション状態をNOに変更しました –