上拉刷新下拉加载——MJRefresh的学习使用

//先用代码创建一个TableView

    var tableView1:UITableView!


  override func viewDidLoad() {

        super.viewDidLoad()

        tableView1 = UITableView(frame: self.view.frame)

        self.view.addSubview(tableView1)

        tableView1.delegate = self

        tableView1.dataSource = self

//注册Cell

        tableView1.registerClass(UITableViewCell.classForCoder(), forCellReuseIdentifier: "cell")



//上拉刷新使用MJRefresh的Block

 func headRefresh(){

//ProgressHUD的使用    

        ProgressHUD.show("玩命刷新中")

//Delay方法是模拟刷新延迟自定义的方法

        self.Delay(2, closure: { () -> () in

            var j = self.i + 10

            for self.i; self.i<j; self.i++ {

                self.Array1.append("\(self.i)")

            }

            self.tableView1.reloadData()

            self.head.stopRefresh()

            ProgressHUD.showSuccess("OK")

        })

    }



//下拉加载使用MJRefresh的Block

self.tableView1.footer = MJRefreshBackGifFooter(refreshingBlock: { () -> Void in

  ProgressHUD.show("玩命刷新中")

            self.Delay(2, closure: { () -> () in

                var j = self.i + 10

                for self.i; self.i<j; self.i++ {

                self.Array1.append("\(self.i)")

                }

                self.tableView1.footer.endRefreshing()

                self.tableView1.reloadData()

                ProgressHUD.showSuccess("OK")

            })

        })

//Delay方法的定义

 func Delay(time:Double,closure:()->()){

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure


//利用XHPathCover创建一个类似微信朋友圈的背景

var head:XHPathCover!

  head = XHPathCover(frame: CGRect(x: 0, y: 0, width: 320, height: 200))

        head.setBackgroundImage(UIImage(named: "bg"))

        head.setAvatarImage(UIImage(named: "gbt"))

        head.avatarButton.addTarget(self, action: "PhotoBrowser", forControlEvents: UIControlEvents.TouchUpInside)

//拖拽模糊效果     

        head.isZoomingEffect = true

        head.setInfo(NSDictionary(objectsAndKeys: "baibai",XHUserNameKey,"IOS程序员",XHBirthdayKey) as [NSObject:AnyObject])

    

        head.avatarButton.layer.cornerRadius = 33

        head.layer.masksToBounds = true

        head.handleRefreshEvent = {

        self.headRefresh()

        }


//因为要实现此背景的拖拽,需要实现ScrollView的几个方法。

 func  scrollViewDidScroll(scrollView: UIScrollView){

        head.scrollViewDidScroll(scrollView)

    }

    func scrollViewWillBeginDragging(scrollView: UIScrollView)

    {head.scrollViewWillBeginDragging(scrollView)

    }

    func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {

        head.scrollViewDidEndDragging(scrollView, willDecelerate: decelerate)

    }

    func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

        head.scrollViewDidEndDecelerating(scrollView)

    }

//自定义TableView的Cell
//将每行的高度改为80

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

        return 80

    }



func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell

         // ?

        for view in cell.contentView.subviews{

        view.removeFromS

 var image = UIImageView(frame: CGRect(x: 10, y: 10, width: 60, height: 60))

  //给每一行加上图片

        image.sd_setImageWithURL(NSURL(string: "http://ent.jwb.com.cn/picture/0/1111201750371192916.jpg" ))

        cell.contentView.addSubview(image)

        var label = UILabel(frame: CGRect(x: 80, y: 30, width: 100, height: 20))

        label.text = "这是第\(indexPath.row)行"

        cell.contentView.addSubview(label)

        return cell

    }

//运行效果


//刷新







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值