Swift2.x编写NavigationController动态缩放titleView
这两天看到一篇文章iOS 关于navigationBar的一些..中的动态缩放比较有意思,看了一下源码,然后用Swift写了一下,使用storyboard
实现.
效果图:
部分代码:
设置滑动代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/** 设置滑动代理 - parameter scrollView: scrollView description */ override func scrollViewDidScroll(scrollView: UIScrollView) { let offsetY = scrollView.contentOffset.y + tableView.contentInset.top if offsetY < 0 && offsetY >= -150 { topImageView.transform = CGAffineTransformMakeScale(1 + offsetY/0), 1 + offsetY/(-300)) } else if (offsetY >= 0 && offsetY <= 165) { topImageView.transform = CGAffineTransformMakeScale(1 - offsetY/300, 1 fsetY/300); } else if (offsetY > 165) { topImageView.transform = CGAffineTransformMakeScale(0.45, 0.45); } else if (offsetY < -150) { topImageView.transform = CGAffineTransformMakeScale(1.5, 1.5); } var frame = topImageView.frame; frame.origin.y = 5; topImageView.frame = frame; } |
ps: 来自文章中的代码
设置topImageView
1 2 3 4 5 6 7 8 9 10 11 12 13 |
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) topBkView.backgroundColor = UIColor.clearColor() self.navigationItem.titleView = topBkView // 设置topImageView 圆型 topImageView.layer.cornerRadius = topImageView.bounds.size.width / 2 topImageView.layer.masksToBounds = true topImageView.layer.anchorPoint = CGPointMake(0.5, 0.5) } |
下载demo了解更多(很简单)
GitHub: NavTopImage
Swift2.x编写NavigationController动态缩放titleView相关推荐
- R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动动画的内容
R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动动画的内容 目录 R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动
- [latex]图片动态缩放的PDF动画示例
[latex]图片动态缩放的PDF动画示例,下面的示例主要使用ctex,animate和tikz宏包实现的. % Animated beamer frame for tikz %Author: %wu ...
- 用前端代码编写一个动态的罗盘时钟
用前端代码编写一个动态的罗盘时钟 前言 一.代码如下 1.index 2.js 3.css 页面效果 前言 今天给大家分享一个罗盘时钟的前端代码,喜欢的小伙伴帮忙点赞一下噢! 一.代码如下 1.ind ...
- Vue使用高德地图api实现热力图动态缩放
Vue使用高德地图api实现热力图动态缩放 前言 1.引入高德js 2.显示基本的热力图 3.显示优化 4.Vue页面完整代码 前言 项目需要,根据积水数据的多少,在页面中进行展示,选用高德热力图ap ...
- 一行代码实现整个网页的动态缩放
一行代码实现整个网页的动态缩放 function scaleContent(factor){document.getElementsByTagName("body")[0].sty ...
- CMake:安装自己编写的动态库,报错
CMake:安装自己编写的动态库,报错"file INSTALL cannot copy file" 具体情况如下: 原因: 权限问题. 安装共享库有时需要root密码,执行sud ...
- QT Echarts 使用详解(一)ECharts下载\示例\动态缩放
Echarts是百度的一款可视化界面开发的平台,里面的地图以及数据可视化内容十分丰富,适合用于一些大屏数据显示项目或者一些ui界面开发.每一个ECharts图表使用一个无边框的QWebView来展示, ...
- 京东css3动画全屏海报_京东店铺装修安装全屏CSS3动态缩放效果海报,活动海报上添加透明素材自动缩放 ......
京东装修动态海报模块的方法,京东店铺上怎么实现CSS3动态海报带缩放的效果?JD海报上添加透明元素图片自动缩放,缩放速度及参数可以自己自定义调整~下面疯狂的美工京东装修助手在线版功能区有此功能,一键生 ...
- Echarts图表根据浏览器窗口缩放进行动态缩放,多个echarts同时缩放
更改之前的效果图: 更改之前浏览器窗口放大缩小图表都不会进行动态的缩放, 更改之后的效果图: 更改之后图表就会根据浏览器窗口大小实时监听进行缩放 代码: topChart.setOption({ser ...
最新文章
- python使用什么来表示不同级别的语句块-python通过什么来区分不同的语句块?
- 数据转数字类型的方法总结
- 在Eclipse中写第一个hibernate小例子
- git/码云上关于项目的一些操作:初始化、克隆、上传修改等
- 如何从现在开始写博客?
- javascript中Date对象及方法
- ionic获取手机通讯录
- Mysql表设计需要注意的问题
- 李学斌:广告的罪恶与救赎
- C# dataGridView控件 字体配置问题 字体大小 修改字体
- grasshopper for rhino 6下载_Grasshopper做分形图案
- 连接服务器切换无线,怎么用路由器连接别人的wifi?
- 《SEM长尾搜索营销策略解密》一一1.1 做有个性的账户
- 微信登陆失败Error: invalid code
- 贵州中进大宗商品交易中心促进产销 打造优质平台
- matlab shading 的用法说明
- 鸿蒙与Android API对应关系
- 组合数有关的公式及常用求和【数学--排列组合】
- vue 监听input停止输入后发送请求
- Windows中cmd命令界面执行sqlmap总是报错“missing a mandatory option(......)”
热门文章
- Linux下HOOK动态链接库中API的方法
- 服务器架设笔记——打通MySQL和Apache
- PE文件和COFF文件格式分析——导出表的应用——一种插件模型
- VC提前注入.net软件的方法
- Ubuntu上Vim安装NERDTree插件操作步骤
- 通过Python在Windows或Linux上快速搭建HTTP服务器
- vs2008常用操作汇总
- 【经验】Lenovo/ThinkPad 进入BIOS的方法汇总
- 计算机应用a级考试,四川省职称计算机应用能力考试A级模拟题
- java c++的区别_Java语言与C、C++之间的区别?