我在写电子书Tread的时候,想实现自动隐藏UINavigationBar,以达到iPhone上面浏览Photo的效果.

当时NavigationBarUINavigationController里面是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;

}