本文主要讲三大块,1.webView如何在UITableView中使用,并且要合理的计算出webView的高度,2.电商商品倒计时功能的实现,3.讲解如何分析动画,并且实现一个翻转动画。
在开始讲之前,我想先把实现的效果先放出来。
1.webView如何在UITableView中使用,并且要合理的计算出webView的高度
由于xcode现在已经更新到了11,当然是要讲解WKWebView了。笔者在实现上面功能的时候,第一个遇到的坑就是高度计算的问题,网上有很多这样的文章,教你如何去计算高度,我这边讲一个最最合适的方法,用kvo动态去监听webView的高度。第二个坑就是高度计算准确之后,在tableView滑动的时候会很卡很卡,经过查阅文章,需要把webview加在UIScrollView上面,然后再把scrollView加在cell的contentView上面,加完之后你会发现,哈哈,一点都不卡了,很开心是不是,下面把主要的代码贴上来,大家看一看。
主要代码如下:
大家把我的这些代码加上项目里面一跑起来,效果就会跟笔者一样了。
2.电商商品倒计时功能的实现
做过电商的童鞋都知道,项目里面有很多秒杀之类的活动,秒杀之类的活动肯定就会有倒计时了,倒计时的功能本质是这样拿到服务器给的时间和本地时间去计算,最后得出我们想要的结果,实现的方案有两种,一种是使用NSTimer定时器来倒计时,另外一种是使用GCD来倒计时,本文采用第二种实现方案,下面给出具体思路。
主要步骤:
1. 计算截止时间与当前时间差
2. 用GCD倒计时 给时分秒字符串通过递减过后的秒数,重新计算数值,并输出显示, 递减时间差 倒计时-1
1. 计算截止时间与当前时间差:
2.使用GCD来实现倒计时
用GCD这个写有一个好处,跳页不会清零 跳页清零会出现倒计时错误
有一点需要注意的是,控制器销毁的时候,需要把我们的timer取消掉。
3.实现一个翻转动画
1.我当时写的这个效果,主要参考另外一个app,当时在那个app查看效果,因为效果很快,大概也就0.25秒左右,一晃没过,我每次看效果,都觉得是这个,比如折叠效果,平移效果等,做了之后发现,总是得不到想要的结果,很是头疼,问题出在哪里了,我在想问题还是出在动画太快了,我凭肉眼去看效果总是会有问题,最后我这边想了一个办法,采用iphone自带的录屏功能,把你需要参考的动画效果录下来,录下来之后,你就需要在iphone的图片里去找到对应的视频,然后一帧一帧的去看,这个时候就很容易得到你的答案了。我当时用这个一看之后,这个不就是个翻转动画吗,知道是什么动画类型之后,就很容易去写代码了。
下面贴出主要代码:
讲到这里,本文已经结束了,本人demo下载地址如下:demo下载地址。