我在写电子书Tread的时候,想实现自动隐藏UINavigationBar,以达到iPhone上面浏览Photo的效果.
当时NavigationBar在UINavigationController里面是private的,无法把她变成透明.
最后只好把它"推出"view 外面,来达到隐藏的目的.
在Beta1一直到Beta4,我是这样写的
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = self.navigationController.view.bounds;
//CGPoint touchPoint1 = self.navigationController.view.center;
if (viewIsUp) {
viewFrame.origin.y -= 25;
viewFrame.size.height -= 50;
viewIsUp = NO;
} else {
viewFrame.origin.y += 25;
viewFrame.size.height += 50;
viewIsUp = YES;
}
self.navigationController.view.bounds =viewFrame;
[UIView commitAnimations];
刚发布的Beta5,这个功能已经加在API里面了
现在变成
if (viewIsUp) {
[self.navigationController setNavigationBarHidden:NO animated:YES];
viewIsUp = NO;
} else {
[self.navigationController setNavigationBarHidden:YES animated:YES];
viewIsUp = YES;
}
简单分享一下.
如果你有这方面的经验或者遇到类似的问题,可以在这里继续和作者探讨。
本文介绍了如何在iOS应用中实现UINavigationBar的自动隐藏功能,包括早期手动调整视图位置的方法,以及后来利用官方API简化操作的过程。
1211

被折叠的 条评论
为什么被折叠?



