У меня есть UIView, который называется геопунктом. Я хочу анимировать слайд в этом пользовательском интерфейсе на главном экране при нажатии кнопки (myButton). Если myButton нажата снова, UIview должен выскользнуть из кадра. myButton вызывает следующий метод "optionsCalled"
-(void) optionsCalled
{
if (![[self.view subviews] containsObject:geopointView] &&checkForGeopointViewAnimation ==0) {
[self.view addSubview:geopointView];
geopointView.frame = CGRectMake(0,430,320,30);
[UIView animateWithDuration:0.3f
animations:^{
geopointView.frame = CGRectMake(0, 350, 100, 80);
}
completion:^(BOOL finished){
checkForGeopointViewAnimation = 1 ;
}];
}
if ([[self.view subviews] containsObject:geopointView] && checkForGeopointViewAnimation ==1)
{
geopointView.frame = CGRectMake(0, 350, 100, 80);
[UIView animateWithDuration:0.3f
animations:^{
geopointView.frame = CGRectMake(0,430,320,30);
}
completion:^(BOOL finished){
checkForGeopointViewAnimation = 0 ;
}];
[geopointView removeFromSuperview];
}
}
здесь checkForGeopointViewAnimation - глобальная переменная, определенная для обеспечения того, чтобы вход и выход не вызывались одновременно.
Проблема с этим кодом заключается в том, что UIview вставляется анимированно, но не анимирует действие слайда. он просто исчезает из основного кадра. Нужно ли здесь использовать какое-то время, чтобы задержка вызова добавления и удаления функций UIview?
Спасибо за любую помощь заранее