有很多属性可以决定导航栏的视觉效果,下面做一下总结

barStyle 属性

  1. 白底黑字 default
  2. 黑底白字 black

blackOpaqueblackTranslucent 已被 Deprecated。

这个属性的优先级是最低的,其他的任何属性会覆盖这个属性的效果。

Any changes you make to other navigation bar appearance properties override those inferred from the bar style.

isTranslucent

是否是半透明的

barTintColortintColor

barTintColor 决定导航栏的背景色
tintColor 决定导航栏中文字的颜色

background image 和 shadow images

优先级最高。
分别是 setBackgroundImage(_:for:barMetrics:) 方法和 shadowImage 属性

To use the custom shadow image, you need to have specified a custom background image

总结

关于背景颜色

查看一个导航栏的外观,流程应该是这样子的

  1. 查看backgroundImage 属性是否为nil。如果非空,决定了背景颜色
  2. 查看 barTintColor 属性是否为nil。如果非空,决定了背景颜色
  3. 查看 barStyle 属性,决定了背景颜色

关于是否透明

  1. 如果没有设置背景图,根据 isTranslucent 属性来走
  2. 如果设置了背景图
    1. 背景图的 alpha 小于1,

      1. 没有手动设置,则默认 true
      2. 手动设置 isTranslucent 为false,那么系统为背景图提供一个不透明的背景。背景颜色由 barStylebarTintColor 决定
    2. 背景图的 alpha 等于1,
      1. 没有手动设置,那么默认是 false
      2. 手动设置 isTranslucent 为 true,那么背景图的 alpha 值变为小于 1 的系统值。

参考

UINavigationBar 的视觉效果的更多相关文章

  1. Css3新特性应用之视觉效果

    一.单侧阴影 box-shadow属性的应用,格式:h-shadow v-shadow blur spread color inset属性取值介绍 h-sahdow:水平阴影的位置,允许负值 v-sh ...

  2. 9个让人印象深刻的网站 JS 视觉效果

    网页设计已经提升到一个整体新的水平,Flash 渐渐失去了地位,逐渐被 HTML/JavaScript/CSS 所超越,而且一样可以实现出 Flash 复杂的特效. 本文介绍 8 个让人印象深刻的网站 ...

  3. iOS阶段学习第31天笔记(UINavigationBar介绍)

    iOS学习(UI)知识点整理 一.UINavigationBar 的介绍 1)概念:UINavigationBar 是用于定义导航栏按钮的一个类对象 2)在使用UINavigationBar之前必须先 ...

  4. UINavigationItem UINavigationBar 关系分析

    目录 1.关系分析 2.关系综述 3.概念点 4.疑问 1.关系分析 UIBarItem-> UIBarButtonItem -> UINavigationItem 1.1 UIBarIt ...

  5. [转]收集android上开源的酷炫的交互动画和视觉效果:Interactive-animation

    原文链接:http://www.open-open.com/lib/view/open1411443332703.html 描述:收集android上开源的酷炫的交互动画和视觉效果. 1.交互篇 2. ...

  6. UINavigationItem UINavigationBar 关系分析[转]

    http://blog.csdn.net/luoyeffcs/article/details/16106707 目录 1.关系分析 2.关系综述 3.概念点 4.疑问 1.关系分析 UIBarItem ...

  7. iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮

    iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用Navigation ...

  8. 15套漂亮的 PSD 格式的图标,不一样的视觉效果

    在 Web 设计领域,图标发挥非常重要的作用,因为美丽的和创造性的图标集可以很容易地使网页设计更有吸引力.网页设计设计师专注于每一个领域的设计,包括颜色选择.图标.创造力.混色等.正确的选择图标可以使 ...

  9. UITabBar,UINavigationBar的布局和隐藏问题

    ---恢复内容开始--- 1. 前言 UITabBar,UINavigationBar非常的好用,但是毕竟是系统自带的,不受自己完全掌握,对于布局和隐藏会有一些问题,现在就来谈谈我的想法和一些问题. ...

随机推荐

  1. Devexpress VCL Build v2014 vol 14.2.6 发布

    终于支持XE8 了.需要这么长时间吗? New Major Features in 14.2 What's New in VCL Products 14.2 Feature Highlights To ...

  2. hdu-1130(卡特兰数+大数乘法,除法模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1130 卡特兰数:https://blog.csdn.net/qq_33266889/article/d ...

  3. 29. What Makes a True Leader ? 合格的领导者由何物决定 ?

    29. What Makes a True Leader ? 合格的领导者由何物决定 ? ① Reading leadership literature,you'd sometimes think t ...

  4. js正则表达式汇集

    1.只允许中文.字母.数字.中划线.下划线.空格.中文的().英文的()和#,只能以数字.中文.字母.下划线开头,长度为2至40之间 validateTemplateName: function(va ...

  5. IntelliJ IDEA 2017版 spring-boot加载jsp配置详解(详细图文实例)

    一.创建项目 (File--->New-->Project) 2.项目配置内容 3.选择配置项目的Group包名,Artifact项目名称 4.选择项目类型为web类型 5.创建成功,点击 ...

  6. modelsim编译altera的库

    http://www.cnblogs.com/LJWJL/p/3515586.html 在modelsim的安装目录下,把配置文件modelsim.ini的只读属性去掉,然后在modelsim中运行T ...

  7. 用python实现各种排序算法

    最简单的排序有三种:插入排序,选择排序和冒泡排序.它们的平均时间复杂度均为O(n^2),在这里对原理就不加赘述了. 贴出源代码: 插入排序: def insertion_sort(sort_list) ...

  8. web.xml 404 500 配置

    web.xml <error-page> <error-code>404</error-code> <location>/error404.html&l ...

  9. (转) MVC 中 @help 用法

    ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速.通 ...

  10. 【C++】C++中的虚函数与纯虚函数

    C++中的虚函数 先来看一下实际的场景,就很容易明白为什么要引入虚函数的概念.假设我们有一个基类Base,Base中有一个方法eat:有一个派生类Derived从基类继承来,并且覆盖(Override ...