swift详解之二十八---------自定义下拉刷新

本文详细介绍了如何在Swift中自定义下拉刷新动画,包括下拉时视图从透明渐显、可拉伸效果,以及文字旋转和放大等动画细节。通过实现UIScrollView的代理方法和使用CADisplayLink驱动动画,实现了流畅的下拉刷新体验。
摘要由CSDN通过智能技术生成

swift详解之二十八———自定义下拉刷新


好久不写博客了 ,最近比较忙。swift学习稍微搁置了,昨天看了AppCoda的自定义下拉刷新 , 挺有心意的,也很简单。就顺便写写,在它的基础上添加了,下拉拉伸。OK先看下效果,基本都是按照它的思路实现的。

这里写图片描述

下拉的时候,从没有到慢慢的显示出来,再到拉长。

首先,创建一个single ViewController的项目 。然后在Main.storyboard上拖一个tableView。 四边的约束都设置成 0 。

在ViewController中声明 @IBOutlet weak var tb:UITableView! ,然后再在 Main.storyboard里面连线 。
这里写图片描述

右击就能看到这个菜单 , 点击tb旁边的空心圆,拖到tableView上就行了。

然后就是造数据,让我们的ViewController实现两个协议 ,其实这写都是UITableview的基本使用 。不再赘述可以看我前面关于UITableView的文章。

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate
//声明
var dataArr = ["第一行","第二行","第三行","第四行","第五行"]
//viewDidLoad中
 tb.delegate = self
 tb.dataSource = self
 func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1;
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
        cell.textLabel!.text = dataArr[indexPath.row]
        return cell
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataArr.count
    }

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 60.0
    }

以上是相关代码 。

现在运行APP应该只显示五行数据。下面添加系统的下拉刷新控件—UIRefreshControl

声明一个变量var refreshControl: UIRefreshControl!

在viewDidLoad中添加下面代码。

 refreshControl = UIRefreshControl()
 tb.addSubview(refreshControl)

这时候运行代码下拉的时候就有有个菊花在转 。 但是不会停。用他们的原图吧。。

这里写图片描述

这里其实可以对UIRefreshControl进行自定义 。 可以设置其backgroundColor,tintColor等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值