导航栏详解

  这里讲到透明背景图的应用,着重要看navigationController 的navigationBar;我们经常要将导航栏设置成透明,这时候最简单的方法,就是在导航栏上加一张透明的图片

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"transparent"] forBarMetrics:UIBarMetricsDefault];

  但是这样以后,我们会发现导航栏下边有一条细细的黑线,这个解决起来也很方便;

self.navigationController.navigationBar.shadowImage=[UIImage imageNamed:@"transparent"];

此外imageView也可以用透明图片的方式达到类似的效果;
  此外导航栏上的按钮也有非常多可供你发挥的地方,其中包括左侧和右侧的按钮项(buttonitem),也包括标题视图(title view)看清楚,同志们,他是一个view哦

self.navigationController.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"action" style:UIBarButtonItemStylePlain target:self action:@selector(@"Action")];

或者

self.navigationController.navigationItem.rightBarButtonItems=barButtonArray;

或者对中间的view做一些复杂的修改

self.navigationController.navigationItem.titleView=navSearchBar;//这里可以放一个view,做你想做的事情

  关于视图是否延伸到半透明的bar的下方的方法
通过控制试图控制器的edgesForExtendedLayout属性,该属性的默认值是UIRectEdgeAll,表示视图在四个边界方向上都会延伸到半透明元件的下方,如果把这个视图属性设置为UIRectEdgeNone,那么视图的边界在碰到bar之后就不继续延伸;
控制导航栏透明的属性是

self.navigationController.navigationBar.translucent=YES;

此外,导航栏隐藏于显示可用方法

[self.navigationController setNavigationBarHidden:YES animated:YES];

最后导航栏推入新的视图或者推出视图我就不说了,太常用了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导航栏作为iOS开发的一大空控件来说,是非常的重要,可以实现各种效果,隐藏,透明,简书的导航栏动画等等,这次就写一...
    武小寺阅读 6,175评论 6 16
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,432评论 25 708
  • 没有收搜狗的钱,但这个软件必须推荐,工作中让我超级好用的app,可惜还没有windows版本。 页面下载链接:搜狗...
    哈瓦那阅读 636评论 0 1
  • 总有那么一个人,让你心甘情愿丢掉自己。 春天 仿佛一个情窦初开的多情诗人 很容易撩人心弦 而那些和爱情有关的记忆里...
    依诺2008阅读 260评论 0 0