这两天看到一篇文章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相关推荐

  1. R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动动画的内容

    R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动动画的内容 目录 R语言使用gganimate包和ggforce包可视化动画并动态缩放(zoom)移动

  2. [latex]图片动态缩放的PDF动画示例

    [latex]图片动态缩放的PDF动画示例,下面的示例主要使用ctex,animate和tikz宏包实现的. % Animated beamer frame for tikz %Author: %wu ...

  3. 用前端代码编写一个动态的罗盘时钟

    用前端代码编写一个动态的罗盘时钟 前言 一.代码如下 1.index 2.js 3.css 页面效果 前言 今天给大家分享一个罗盘时钟的前端代码,喜欢的小伙伴帮忙点赞一下噢! 一.代码如下 1.ind ...

  4. Vue使用高德地图api实现热力图动态缩放

    Vue使用高德地图api实现热力图动态缩放 前言 1.引入高德js 2.显示基本的热力图 3.显示优化 4.Vue页面完整代码 前言 项目需要,根据积水数据的多少,在页面中进行展示,选用高德热力图ap ...

  5. 一行代码实现整个网页的动态缩放

    一行代码实现整个网页的动态缩放 function scaleContent(factor){document.getElementsByTagName("body")[0].sty ...

  6. CMake:安装自己编写的动态库,报错

    CMake:安装自己编写的动态库,报错"file INSTALL cannot copy file" 具体情况如下: 原因: 权限问题. 安装共享库有时需要root密码,执行sud ...

  7. QT Echarts 使用详解(一)ECharts下载\示例\动态缩放

    Echarts是百度的一款可视化界面开发的平台,里面的地图以及数据可视化内容十分丰富,适合用于一些大屏数据显示项目或者一些ui界面开发.每一个ECharts图表使用一个无边框的QWebView来展示, ...

  8. 京东css3动画全屏海报_京东店铺装修安装全屏CSS3动态缩放效果海报,活动海报上添加透明素材自动缩放 ......

    京东装修动态海报模块的方法,京东店铺上怎么实现CSS3动态海报带缩放的效果?JD海报上添加透明元素图片自动缩放,缩放速度及参数可以自己自定义调整~下面疯狂的美工京东装修助手在线版功能区有此功能,一键生 ...

  9. Echarts图表根据浏览器窗口缩放进行动态缩放,多个echarts同时缩放

    更改之前的效果图: 更改之前浏览器窗口放大缩小图表都不会进行动态的缩放, 更改之后的效果图: 更改之后图表就会根据浏览器窗口大小实时监听进行缩放 代码: topChart.setOption({ser ...

最新文章

  1. python使用什么来表示不同级别的语句块-python通过什么来区分不同的语句块?
  2. 数据转数字类型的方法总结
  3. 在Eclipse中写第一个hibernate小例子
  4. git/码云上关于项目的一些操作:初始化、克隆、上传修改等
  5. 如何从现在开始写博客?
  6. javascript中Date对象及方法
  7. ionic获取手机通讯录
  8. Mysql表设计需要注意的问题
  9. 李学斌:广告的罪恶与救赎
  10. C# dataGridView控件 字体配置问题 字体大小 修改字体
  11. grasshopper for rhino 6下载_Grasshopper做分形图案
  12. 连接服务器切换无线,怎么用路由器连接别人的wifi?
  13. 《SEM长尾搜索营销策略解密》一一1.1 做有个性的账户
  14. 微信登陆失败Error: invalid code
  15. 贵州中进大宗商品交易中心促进产销 打造优质平台
  16. matlab shading 的用法说明
  17. 鸿蒙与Android API对应关系
  18. 组合数有关的公式及常用求和【数学--排列组合】
  19. vue 监听input停止输入后发送请求
  20. Windows中cmd命令界面执行sqlmap总是报错“missing a mandatory option(......)”

热门文章

  1. Linux下HOOK动态链接库中API的方法
  2. 服务器架设笔记——打通MySQL和Apache
  3. PE文件和COFF文件格式分析——导出表的应用——一种插件模型
  4. VC提前注入.net软件的方法
  5. Ubuntu上Vim安装NERDTree插件操作步骤
  6. 通过Python在Windows或Linux上快速搭建HTTP服务器
  7. vs2008常用操作汇总
  8. 【经验】Lenovo/ThinkPad 进入BIOS的方法汇总
  9. 计算机应用a级考试,四川省职称计算机应用能力考试A级模拟题
  10. java c++的区别_Java语言与C、C++之间的区别?