实际上对于show / hide我正在使用UIView Animation。 简单的方法,如动画:是/否。 但它并没有给我顺利的回应.. 请给我建议......
BOOL navBarState = [self.navigationController isNavigationBarHidden];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[self.navigationController setNavigationBarHidden:!navBarState animated:NO];
[UIView commitAnimations];
我不想给我满意的结果我想用CAAnimation做同样的事情。
答案 0 :(得分:0)
为什么需要将以下行放入UIView动画大括号中:
[self.navigationController setNavigationBarHidden:!navBarState animated:NO];
为什么不用动画调用它:YES而不调用[UIView beginAnimation] / [UIView commitAnimation]?
[self.navigationController setNavigationBarHidden:!navBarState animated:YES];
答案 1 :(得分:0)
CGRect rect = self.navigationController.navigationBar.frame;
rect.origin.y = rect.origin.y < 0 ?
rect.origin.y + rect.size.height
: rect.origin.y + rect.size.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
self.navigationController.navigationBar.frame = rect;
[UIView commitAnimations];
使用上面的代码可以帮助您获得流畅的动画......