iOS版QQ的黏性下拉刷新效果简易实现

本文介绍了如何简易实现iOS版QQ的黏性下拉刷新效果,通过利用Swift绘制曲线路径,实现类似原生App的用户体验。文章讨论了实现细节,包括状态逻辑处理和仿射变换,并提供了一种实现方案。
摘要由CSDN通过智能技术生成

前言

对于市面上用户群体较大的App来说,AndroidiOS两个版本的某些部分的使用体验有些差异。这种现象的起因或归结于平台的操作系统本身的不同,也可以想成是充分利用平台本身提供的资源,打造符合其使用习惯的应用。

为了和文题相关,这里就举例QQ来说明。Android版本的下拉刷新就是一个翻转的小箭头效果,而iOS版本的却是其平台本身很经典的牛皮糖(黏性)效果。考虑到Tencent在后来推出针对强迫症用户清理消息记录的那样一个黏性气泡样式,这也就说明Android是可以实现这样的功能的。(这也是理所应当的,Android也是很强大的。)再说左滑将消息记录删除、置顶、标记为未读的功能选项,这两个版本的QQ都具备。不过仔细观察的话,不难发现Android上的可能是仿照的iOS原生的功能,前者的使用体验明显没有后者丝滑、流畅,因为前者的这些功能选项是拼接在视图的尾部的。或许、估计、大概Android原生没有这样的使用效果,而QQiOS开发团队使用原生效果开发出来以后产品经理觉得这使用体验很不错,就督促Android开发小组也整个一样的。(完全靠猜,错了别打我!)不然的话,上述的功能选项你就只能长按视图然后在弹出的一个界面中来找了,就像起点读书Android版本一样。(用起来真心别扭,唉!被Apple的使用体验惯坏了!)

咳咳,不好意思,以上闲扯了许多,其实就想说明Android在使用体验上与iOS还有一定的距离。而Apple也不是个好东西,卖得太

好,不吐槽了,开始下一话题:实现iOSQQ黏性下拉刷新的效果,嗯!简易实现。(谦虚使人进步,骄傲使人落后!)

对你黏、黏、黏不完

前文说到的简易实现是指文章中的例子会以很简单的方式来完成黏性的效果,因此可能会一定程度上影响自然度,也就是曲线的曲率看起来或多或少有些不协调。不过这只是些微的对美观的破坏,总体来说成效能达到百分之八九十,剩下的份额为采用这样一个简易的绘制过程所付出的一些代价,它对应为这样的过程:

这里写图片描述

整个黏性的视图由四段曲线绘制填充形成,分别是上下两个半圆和左右两条二阶贝塞尔曲线。最开始的实践方案是采用上下两个圆,就会导致曲线的填充出现问题。你可以试试,看看会发生怎样的现象。

说到这里相信你对最终的实现已经成竹在胸了:黏性视图使用CAShapeLayer来表现,通过路径来绘制它的外观轮廓。当然,以上整个过程得在UITableView/UIScrollView的拖拽过程中进行,因为只有这样我们才能判断当前应当展示怎样的黏性程度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值