Я использую некоторые простые свойства UIAnimation, чтобы показать и скрыть UIView.Этот код, кажется, отлично работает в первый раз.Но после этого эффект анимации не виден.Есть ли что-то, что я делаю не так в этом коде .. Я публикую свой код здесь .. Пожалуйста, исправьте меня, если мой код неверен, и, пожалуйста, предложите мне правильный подход.Спасибо.
-(IBAction)animateSingleTap:(UIButton*)sender{
NSLog(@"trying to animate singletap");
if(singleTapViewIsShowing==NO){
[searchController hideSelf];
[singleTapView sendSubviewToBack:hideSingleTapButton ];
hideSingleTapButton.frame=CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[UIView beginAnimations:@"single tap animation" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationTransition:UIViewAnimationCurveEaseInOut forView:singleTapView cache:YES];
[self.view addSubview:singleTapView];
hideSingleTapButton.frame=CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self.view bringSubviewToFront:singleTapView];
optionsButton.selected=YES;
singleTapViewIsShowing=YES;
singleTapView.frame=CGRectMake(sender.frame.origin.x-95, sender.frame.origin.y+30, singleTapView.frame.size.width, singleTapView.frame.size.height);
[UIView commitAnimations];
}
else {
[UIView beginAnimations:@"single tap animation" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationTransition:UIViewAnimationCurveEaseInOut forView:singleTapView cache:YES];
[singleTapView removeFromSuperview];
optionsButton.selected=NO;
[UIView commitAnimations];
singleTapViewIsShowing=NO;
}
}