社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 博客 左右分栏 |帮助
主题 : 隐藏UINavigationBar
级别: 论坛版主

UID: 18
精华: 1
发帖: 907
可可豆: 9090 CB
威望: 3700 点
贡献值: 0 点
交易币: 0
iChat:
GTalk:
在线时间: 352(时)
注册时间: 2008-04-03
最后登录: 2010-07-23
0 楼:  发表于: 2008-05-09   
来源于 官方SDK 分类

隐藏UINavigationBar

管理提醒: 本帖被 lvyile 执行锁定操作(2009-04-05)
我在写电子书Tread的时候,想实现自动隐藏UINavigationBar,以达到iPhone上面浏览Photo的效果.
当时NavigationBar在UINavigationController里面是private的,无法把她变成透明.

最后只好把它"推出"view 外面,来达到隐藏的目的.
在Beta1一直到Beta4,我是这样写的

[code]
    [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];
[code]

刚发布的Beta5,这个功能已经加在API里面了
现在变成
[code]
if (viewIsUp) {
            [self.navigationController setNavigationBarHidden:NO animated:YES];
            viewIsUp = NO;
        } else {
            [self.navigationController setNavigationBarHidden:YES animated:YES];
            viewIsUp = YES;
        }
[code]

简单分享一下.
There is no place like 127.0.0.1
级别: 论坛版主
UID: 2
精华: 5
发帖: 5827
可可豆: 148954 CB
威望: 52077 点
贡献值: 0 点
交易币: 0
iChat:
GTalk:
在线时间: 3127(时)
注册时间: 2008-03-29
最后登录: 2010-09-09
1 楼:  发表于: 2008-05-10   
这种做法的确要比toolchain里面简单。看来我最近要开始看看官方的SDK了,至少找一下用得到的和非官方的区别。

现在的toolchain里头也没有设置为hidden,估计还是要按照你之前的做法去做,把位置改下。
Hosanna in the highest!
级别: 论坛版主

UID: 491
精华: 5
发帖: 10000
可可豆: 60014149 CB
威望: 86903 点
贡献值: 805 点
交易币: 0
iChat: 0
GTalk: 0
在线时间: 5070(时)
注册时间: 2008-08-19
最后登录: 2010-09-09
2 楼:  发表于: 2008-09-17   
    [self.navigationController setNavigationBarHidden:YES animated:NO];
小生學習樂, 謝謝大大!
在CocoaChina讨论的艺术

Love is patient.  愛是恒久忍耐。 --《新约·哥林多前书》第13章

从来不报任何希望,所以从来不失望 - Lv@CC
级别: 骑士

UID: 605
精华: 0
发帖: 147
可可豆: 1380 CB
威望: 330 点
贡献值: 0 点
交易币: 0
iChat:
GTalk:
在线时间: 103(时)
注册时间: 2008-09-03
最后登录: 2009-09-14
3 楼:  发表于: 2008-09-17   
楼上那句得放在applicationdelegate applicationDidFinishLaunching 里面

顺便,如果你像我一样讨厌那些statusbar和navigationbar,可以同时放这两句,

[[UIApplication sharedApplication]setStatusBarHidden:YES];
[self.navigationController setNavigationBarHidden:YES animated:NO];

你的application就会干干净净啦!

我喜欢!!