码迷,mamicode.com
首页 > 其他好文 > 详细

navigationcontroller剖析

时间:2015-11-16 18:56:22      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

概述:

系统原生的navigationcontroller非常强大, 几乎所有的程序都基于系统的导航控制器做开发

它的navigationbar的有2种形态

navigationbar的frame其实是CGRectMake(0, 20, 设备宽度, 44)

self.navigationBar.layer.masksToBounds = YES; 

,-setMasksToBounds:方法告诉layer将位于它之下的layer都遮盖住。这是必须的,这样会使圆角不被遮,但是这样会导致阴影效果没有,很多网上都给出资料,再添加一个SubLayer,添加阴影。(意思也就是讲mask作为bound的边界,对原来的frame进行裁剪??)

navigationbar的frame就会变成是CGRectMake(0, 20, 设备宽度, 44)

1.translucent = YES

2.1.translucent = NO

 

一. translucent = YES的情况

scrollview会自动设置insets,

并且导航是半透明的,

self.view的起点是(64, 0)

设置一张透明图片, 并且设置UIBarMetricsCompact参数, 就可以让导航看起来是透明的

 [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"bigShadow.png"] forBarMetrics:UIBarMetricsCompact];

一. translucent = NO的情况

scrollview不会做任何适配

并且导航是不透明的,

self.view的起点是(0, 0)

navigationcontroller剖析

标签:

原文地址:http://www.cnblogs.com/apem/p/4969571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!