初步实践所得:
当translucent属性为YES的时候,vc的view的坐标从导航栏的左上角开始;
当translucent属性为NO的时候,vc的view的坐标从导航栏的左下角开始;
 
深入探究:
 
内容简要摘要:
(一)非滚动实图
从iOS7以后,默认为YES。
为YES时,view从(0,0)点开始;
为NO时,view从(0,64)点开始。
 
(二)滚动视图
tableview加在view上面,坐标为(0,0,屏宽,屏高)。
 
当为YES时,view的起点从(0,0)开始,tableview的起点从view的(0,0)点开始,但是tableview的内容向下偏移了64,这就是特性。
当然,也可以让这种特性消失,tableview有一个特有的属性,automaticallyAdjustsScrollViewInsets,默认为YES,滚动试图会默认进行调整,如果设置为NO,则不进行自动调整。
 
当为NO时,view的起点从(0,64)开始,tableview的起点从view的(0,0)点开始,nav的透明效果没有了,变为纯白色。这样如果增加侧滑手势的话,就会导致上面的navigationBar消失,显示后面的黑色背景,这显然不是我们想要的。
 
【总结】当我们使用滚动视图的时候,建议不要修改translucent属性,就是系统默认的YES。
 
【类似属性】
设置self.edgesForExtendedLayout = UIRectEdgeNone;控制器的view也会变成从(0,64)开始。这样做nav会变得略黑色,目测是背面window的颜色。 

神奇的navigationBar.translucent的更多相关文章

  1. self.navigationController.navigationBar.translucent = YES航栏的属性默认 YES是透明效果并且主view不会偏移 NO是导航栏不透明 主view会向下偏移64px

    交友:微信号 dwjluck2013 从iOS7开始,苹果对navigationBar进行了模糊处理,并把self.navigationController.navigationBar.translu ...

  2. ios -将navigationbar的translucent属性设为No后,子控制器视图整体下移问题

    如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视 ...

  3. 将navigationbar的translucent属性设为No后,子控制器视图整体下移问题

    如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视 ...

  4. 【转】iOS学习之translucent属性

    原文地址:http://www.jianshu.com/p/930643270455 总所周知,苹果从iOS7开始采用扁平化的界面风格,颠覆了果粉们"迷恋"的拟物化风格.对于开发者 ...

  5. iOS导航控制器常用函数与navigationBar常用属性

    导航控制器常用函数触发时机 当视图控制器的View将要出现时触发 - (void)viewWillAppear:(BOOL)animated 当视图控制器的View已经出现时触发 - (void)vi ...

  6. navigationcontroller手势翻页和navigationbar

    一. 系统导航默认手势 #import "CBNavigationController.h" //手势返回 @interface CBNavigationController () ...

  7. iOS中的translucent和automaticallyAdjustsScrollViewInsets用法

    关于这两个属性我长话短说 具体的可以更具具体情况来设置: translucent用法 automaticallyAdjustsScrollViewInsets用法 translucent用法 iOS7 ...

  8. navigationBar设置透明

    //设置全透明方式 一.完全不用图片(iOS7之后有效)[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBar ...

  9. navigationBar设置透明度

    将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下:1.在视图控制器的头文件中实现UINavigationControllerDelegate,例如:@interface ...

随机推荐

  1. TM1638控制

    原理图图纸: 显示控制与读按键与寄存器的对应 驱动代码:码云:

  2. Python实现mysql数据库增删改查

    利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装!   1. 环境配置 安装第三方包  ,导入模块 mysql.connector  pip inst ...

  3. VS2017中遇到不存在从string到const char*的转换函数的解决方法

    使用c_str()函数 c_str函数的返回值是const char*. c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有stri ...

  4. mysql 单表批量备份sh文件

    #!/bin/bashDBS=$(mysql -u root -padmin -e 'use database; show tables;' | awk '{ print $1 }');for tab ...

  5. C语言笔记 11_头文件&强制类型转换&错误处理&递归

    头文件 头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指 ...

  6. Linux - 软硬链接,hard link and symbolic link

  7. No space left on device(转载)

    本文转自 http://blog.163.com/ly_89/blog/static/186902299201191233058625/ =====================概述======== ...

  8. mysql的一些不常用语句

    今天写项目,用的ThinkPHP,写的时候有点费劲,原因嘛 无非是对框架或者mysql的一些知识的遗忘. 1.为了配合ThinkPHP中的控制器,需要修改数据库中表名,一时想不起来,幸好有百度,问题很 ...

  9. 基于soa的架构

    SOA:Service Oriented Architecture面向服务的架构.也就是把工程拆分成服务层.表现层两个工程.服务层中包含业务逻辑,只需要对外提供服务即可.表现层只需要处理和页面的交互, ...

  10. 常用SQL语句大全

    一些常用SQL语句大全   一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql se ...