У меня проблемы с анимацией подпредставления UIView. Что я пытаюсь сделать, так это то, что когда вы нажимаете на главное представление, дополнительное представление будет скользить сверху вниз, а при следующем нажатии оно сдвинется вверх и будет удалено. Но в текущем состоянии он просто выполняет первые команды касания, а при втором касании отображает nslog, но удаление представления и анимации не работает.
Вот код в функции обработки событий:
- (void)tapGestureHandler: (UITapGestureRecognizer *)recognizer
{
NSLog(@"tap");
CGRect frame = CGRectMake(0.0f, -41.0f, self.view.frame.size.width, 41.0f);
UIView *topBar = [[UIView alloc] initWithFrame:frame];
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"topbar.png"]];
topBar.backgroundColor = background;
if (topBarState == 0) {
[self.view addSubview:topBar];
[UIView animateWithDuration:0.5 animations:^{topBar.frame = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 41.0f);}];
topBarState = 1;
} else if (topBarState == 1){
[UIView animateWithDuration:0.5 animations:^{topBar.frame = CGRectMake(0.0f, -41.0f, self.view.frame.size.width, 41.0f);} completion:^(BOOL finished){[topBar removeFromSuperview];}];
NSLog(@"removed");
topBarState = 0;
}
}
Как сделать так, чтобы подпредставление анимировалось и удалялось правильно?
Наилучшие пожелания
Бесплатно