Просто оберните ваш код так:
[UIView beginAnimations:nil context:NULL];
if (!isShowing) {
isShowing = YES;
myView.hidden = NO
}
else {
isShowing = NO;
myView.hidden = YES
}
[UIView commitAnimations];
или упростите это до:
[UIView beginAnimations:nil context:NULL];
isShowing = !isShowing;
myView.hidden = isShowing? NO : YES;
[UIView commitAnimations];
Возможно, вы также захотите использовать методы UIView
setAnimationDuration:
, setAnimationCurve:
или setAnimationBeginsFromCurrentState:
для настройки того, как представление исчезает и исчезает.