iphone里如何实现像图片浏览那样的自动隐藏和导航条和工具栏

本文介绍了如何在iOS应用中通过简单的代码实现导航栏和工具栏的自动隐藏与显示功能,适用于如电子书等应用场景。通过在viewDidLoad方法中设置导航栏和工具栏的显示属性,并在中间按钮点击事件中切换这些属性的状态,可以实现在不同操作时导航栏和工具栏的灵活展示与隐藏。

iphone里如何实现像图片浏览那样的自动隐藏和导航条和工具栏呢?其实很简单,只需要设置toolbar和navigationBar的显示和隐藏属性就可以了。

效果图如下

未隐藏的效果图

隐藏后的效果图

具体实现代码如下

首先在viewDidLoad里设置toolBarHidden = NO, 默认是YES(隐藏的),为了让toolbar显示,需要设置为NO(不隐藏)。

-(void)viewDidLoad
{
[superviewDidLoad];
self.title
=@"隐藏导航栏";
//self.toolbarItems
self.navigationController.toolbar.barStyle=self.toolBar.barStyle;
self.navigationController.toolbarHidden
=NO;

[self.navigationController.toolbarsetTranslucent:YES];

self.toolbarItems
=[[[NSMutableArrayalloc]initWithArray:self.toolBar.items]autorelease];
}

在点击中间button的时候的显示和隐藏navigation bar和toolBar

实现代码如下:

-(IBAction)toggleNavigationBar:(id)sender{
//Checkthecurrentstateofthenavigationbar...
BOOLnavBarState=[self.navigationControllerisNavigationBarHidden];
//SetthenavigationBarHiddentotheoppositeofthecurrentstate.
[self.navigationControllersetNavigationBarHidden:!navBarStateanimated:YES];
[self.navigationControllersetToolbarHidden:
!navBarStateanimated:YES];
//Changethelabelonthebutton.
if(navBarState){
[buttonsetTitle:
@"隐藏Navigationrandtoolbar"forState:UIControlStateNormal];
[buttonsetTitle:
@"隐藏NavigationBartoolbar"forState:UIControlStateHighlighted];
}
else{
[buttonsetTitle:
@"显示NavigationBartoolbar"forState:UIControlStateNormal];
[buttonsetTitle:
@"显示NavigationBartoolbar"forState:UIControlStateHighlighted];
}


}

这样的效果有什么用呢,比如我们常见的电子书,点击中间那块区域的时候显示一些设置和导航。

本文链接:http://www.cnblogs.com/likwo/archive/2011/06/12/2078760.htm

转载请注明出处。

参考文档:

http://www.raddonline.com/blogs/geek-journal/iphone-sdk-uinavigationcontroller-hiding-the-navigation-bar

http://icodesnip.com/snippet/iphone/iphonesdkuinavigationbar

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值