NavigationBarScaleViewDemo

程序名称:NavigationBarScaleViewDemo

授权协议: MIT

操作系统: 跨平台

开发语言: Objective-C

NavigationBarScaleViewDemo 介绍

iOS导航条自由缩放头像效果

实现原理

效果图可以看到以下几点:

  1. 向上移动头像会缩小,但是有下限

  2. 向下移动头像会放大,但是有上限

  3. 头像的起点y始终不变

所以,我们首先要知道如何缩放控件,也就是使用transform来实现。然后每次都需要更新头像的y坐标,以保证y值不变。既然缩小有下限,放大有上限,所以我们应该设置一个最小缩放系数及最大缩放系数。

要设置最小/最大缩放系数,我们就需要计算出来,但是如何计算呢?其实挺简单的,我们只需要设置下拉或者上拉需要处理缩放的最大距离,就可以计算出来了。

计算放大系数: MIN(1.5, 1 – offsetY / 300);
计算缩小系数: MAX(0.45, 1 – offsetY / 300);

假设正常状态下用户头像的大小为70,当放大到最大时,不得超过105;当缩小到最小时,不得小于31.5.则这个最大倍数1.5就是我们期望用户
头像可放大的最大值除以正常状态下的值,即105/70.0=1.5。同样,最小倍数0.45计算公式为:31.5 / 70.0 = 0.45.

为了保证在缩放过程中,y坐标不变,那么就需要动态地更新y坐标,也就是在缩放时,将y坐标固定。

NavigationBarScaleViewDemo 官网

https://github.com/CoderJackyHuang/NavigationBarScaleViewDemo

相关编程语言

Acapela TTS 是一个为 iPhone 和 iPad 开发的 TTS 引...
二维码(QR Code)扫描静态库,扫描效率较高。
RegexKitLite 是一个轻量级的 Objective-C 的正则表...
一款基于ASIHttpReques开源的仿迅雷多线程断点续传功...
实现动态检测网络(wifi)状况,不需要用户手动刷新...
使用iphoneSDK官方NSXMLParserDelegate做的简单xml解...