簡単なアニメーションが 1 つあります。
- (void)showMenu
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:0.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
self.scrollView.frame = CGRectMake(296, -150, 432, 356);
[self.buttonMenu setImage:[UIImage imageNamed:@"menu_arrow_up.png"] forState:UIControlStateNormal];
[self.view bringSubviewToFront:self.scrollView];
[UIView commitAnimations];
}
このアニメーションを初めて呼び出すと、ボタンの画像が変わるだけで、スクロールビューの位置は変わりません。
showMenu
メソッドを 2 回呼び出した後、すべてが正しく機能します。
- 私は電話します
showMenu
。ボタンのイメージが変わります。scrollview
ない位置 - すべてをリセットする別のメソッドを呼び出します。ボタンのイメージが変わります。
scrollview
ない位置 - 私は電話します
showMenu
。ボタンのイメージが変わります。scrollview
変化の位置 - これからは、呼び出すたびに機能します
showmenu
2番目の方法はcloseMenu
次のとおりです。
- (void)closeMenu
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:0.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
self.scrollView.frame = CGRectMake(296, -317, 432, 356);
[self.buttonMenu setImage:[UIImage imageNamed:@"menu_arrow_down.png"] forState:UIControlStateNormal];
[UIView commitAnimations];
}
では、2 回クリックしただけで機能するのはなぜですか?