现实开发中会遇到一种情况。UI会把导航条做成透明的,滑动的时候才逐渐显现。不透明的时候样子是这样的。

是挺难看的。

所以想要制作透明的导航条 就要知道一个方法,一个属性

这时 UIImage 这个图看来是必须要画一个了

- (UIImage *)imageWithColor:(UIColor *)color {CGRect rect = CGRectMake(0, 0, 1, 1);UIGraphicsBeginImageContext(rect.size);CGContextRef context = UIGraphicsGetCurrentContext();[color setFill];CGContextFillRect(context, rect);UIImage *imgae = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return imgae;
}

当然也可以给UIImage添加类目

UIImage+colorImge.h

#import <UIKit/UIKit.h>@interface UIImage (colorImge)
+ (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size;
@end

UIImage+colorImge.m

#import "UIImage+colorImge.h"@implementation UIImage (colorImge)+ (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size {CGRect rect = CGRectMake(0, 0, size.width, size.height);UIGraphicsBeginImageContext(rect.size);CGContextRef context = UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context, [color CGColor]);CGContextFillRect(context, rect);UIImage *image = UIGraphicsGetImageFromCurrentImageContext();CGContextAddEllipseInRect(context, rect);UIGraphicsEndImageContext();return image;
}@end

这样就能直接初始化一个UIImage了

这时我们就可以让导航透明了

效果如图

这时想要做到滑动时逐渐变色类似下图

需要在

- (void)scrollViewDidScroll:(UIScrollView *)scrollView ;方法中做文章了。因为tableVIew继承自scrollView

在这个方法中判断tableVIew的contentOffset.y。先看代码

当前的透明度 = (tableView.contentOffset.y - tableView.contentOffset.y的起点) / (完全不透明的终点 + tableView.contentOffset.y的起点) 一般没做修改的话 tableView.contentOffset.y的起点是0, 完全不透明的终点 就是看你心情 滑动多远的时候导航条全变色。

如果有时间的话可以做做封装。面对多种不同的情况做不同的效果

转载于:https://www.cnblogs.com/menglingxu/p/6681080.html

iOS (导航条)navBar 透明相关推荐

  1. ios 导航条消失 navigationBar.hidden 和 navigationBarHidden 区别

    昨天调试代码的时候,突然出现导航栏遍空白了 不见了.让我顿时懵逼了!!快提交代码了,竟能出这种问题! 于是我首先设置了: self.navigationController.navigationBar ...

  2. Bootstrap导航条、分页导航

    [导航条navbar] 在bootstrap中导航与导航条在外观方面差不多,但在实际应用时,导航条却要复杂的多. 导航条制作方法: 第一步:首先在制作导航的列表(<ul class=" ...

  3. Bootstrap(五) 导航条、分页导航

    本文转自:http://www.imooc.com/learn/141 导航条基础 导航条(navbar)和上一节介绍的导航(nav),就相差一个字,多了一个"条"字.其实在Boo ...

  4. iOS 导航栏隐藏和显示

    1: 导航栏隐藏.显示之间跳转 iOS 导航栏对于隐藏造成的动画 可以通过在 viewWillAppear 和 viewWillDisappear 来设置完成 - (void)viewWillAppe ...

  5. Bootstrap学习笔记——导航条、分页导航

    1 导航条 导航条(navbar)比航(nav)复杂很多:导航条(navbar)中有一个背景色.而且导航条可以是纯链接(类似导航),也可以是表单,还有就是表单和导航一起结合等多种形式. 1.1 基础导 ...

  6. 解决并隐藏h5页面在新版微信iOS 端出现底部白色导航条

    新版微信在苹果iOS 端的h5页面如果有路由跳转,会出现底部白色导航条.会占用页面的高度,如何去解决这个问题呢. 方案一 页面跳转时重新定页面的高度,这样处理导航条仍然存在. 方案二 使用histor ...

  7. 关于uniapp获取ios客户端平台安全距离(底部导航条)的方法

    1. 在uniapp中可通过内置api: uni.getSystemInfo(OBJECT) 获取系统信息,在success回调函数中会返回设备的详细信息对象,其中一个key名 'safeAreaIn ...

  8. 仿网易新闻顶部菜单html,iOS仿网易新闻滚动导航条效果

    本文实例为大家分享了iOS滚动导航条效果展示的具体代码,供大家参考,具体内容如下 实现效果 效果:选择不同的栏目,下面出现不同的视图,栏目条可以滚动:下面的视图也可以滚动,滚动时上面对应的栏目要选中颜 ...

  9. h5页面在新版微信iOS 端出现底部白色导航条

    新版微信在苹果iOS 端的h5页面如果有路由跳转,会出现底部白色导航条,出现此情况的原因是: 由于底部导航栏是因为出现history记录才出现的.使用replace就没有history记录,解决办法 ...

  10. iOS 导航控制器、导航条、导航项、控制器的关系

    常见的APP的页面结构,分为两个横向和纵向两个维度,最为经典的就是横向维度采用UITabBarController,纵向维度采用UINavigationController.当然,横向维度还可以使用U ...

最新文章

  1. 软件访问转向本地_我是如何从完整的初学者转向软件开发人员的,以及如何做到的...
  2. GARFIELD@12-10-2004
  3. Win10+Python3.6下Pytorch安装(基于conda或pip)
  4. 断言(assert)和程序的安全保证
  5. 前端运行python代码几种方式_前的解释|前的意思|汉典“前”字的基本解释
  6. 关于图片按比例自适应缩放
  7. python dlib学习(六):训练模型
  8. 解读容器 2019:把“以应用为中心”进行到底
  9. 领英上面的experience和project的区别
  10. 四、CSS知识总结(下篇)
  11. 深入理解Spark 2.1 Core (九):迭代计算和Shuffle的原理与源码分析
  12. Pyqt5_Python运用过程中一些问题和技巧
  13. 大学四年怎样过,做到这六点,甩别人一条街
  14. 21.UNIX 环境高级编程--与网络打印机通信
  15. 解决办法:dpkg: 错误: 无法打开软件包的 info 文件 /var/lib/dpkg/available 以便读取: 没有那个文件或目录
  16. RuntimeError: Python is not installed as a framework. Mac下使用Matplotlib报错
  17. uvm设计分析——reg
  18. 马虎词汇教程1-5(转载)
  19. 历练熟女给老实木讷男孩的恋爱建议(转贴)
  20. 进bios快捷键集合

热门文章

  1. PAM for Kmedoids algorithm, PAM算法的实现, kmeans 算法实现. 利用scikit-learn toolbox.
  2. Win Phone 8 Emulator启动错误:提示无法创建虚拟机,Xde找不到主机的IPv4地址
  3. 读书笔记之文件和注册表操作
  4. postgresql查看表的创建者和表的权限
  5. Android 手机的坐标
  6. “霸榜CLUE” ,刚刚发布的业界最大中文NLP预训练模型有多强?
  7. 【学术】让你的博士经历更加轻松愉快的10个tips
  8. 他曾经复读才考上三本,如今让华为开出 201 万年薪(其实还拒绝了 360 万 offer)...
  9. pandas之get_dummies
  10. 以1敌10不是梦,Spring Boot企业级真实应用案例