我使用 UIScrolView 来显示内容(图片)。我没有使用任何第三方代码。我的 Scroller 和缩放功能运行良好(之前不可用)。现在我想添加一个功能,只需触摸屏幕(即点击一次),导航栏就会上升,如图 2 所示。我想同时增加 UIscrollview 的大小,如图 2 所示。如果用户再次点击 Navigation Bar ,回到原来的位置,scrollView 就会恢复到原来的大小和形状。我的 scrollView 包含水平滚动的图像。
为导航栏显示动画的一种方法是我制作一个自定义 View 并将其添加到导航栏的位置并使用以下代码制作动画 向上移动
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
customNavigationbar_view.frame=CGRectMake(0, -66, 320, 65);
[UIView commitAnimations];
这会变得太笨拙。我什至准备这样做。但是如何通过动画增加我的 ScrollView 大小,这样看起来 ScrollView 大小不会随着我点击某些东西而立即增加。如果有第三方提供我想要的所有东西,请告诉我。大多数第三方代码要么难以获得,要么无法提供我在项目中需要的所有内容。对我添加图像的方式感到抱歉。
最佳答案
动画 ScrollView 框架中的变化: 像这样的东西:
- (void) tap:(UITapGestureRecognizer *)gr {
[self.navigationController setNavigationBarHidden: YES animated: YES];
[UIView animateWithDuration:1.0 animations:^{
CGRect frame = self.scrollView.frame;
frame.origin.y = 0;
frame.size.height = self.view.bounds.size.height; // or whatever you need to keep it from moving up
self.scrollView.frame = frame;
}];
}
关于ios - 如何让navigation Bar平滑的移动到它的位置之上,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21267187/