闭包的返回值和参数

//
//  ViewController.swift


import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        /**
        // 1.创建UIScollView
        let sc = UIScrollView(frame:CGRect(x: 0,y: 100,width: UIScreen.mainScreen().bounds.width,height: 44))
        sc.backgroundColor = UIColor.redColor()
        view.addSubview(sc)

        // 2.创建N多UIButton
        let width = 80
        let count = 15
        for i in 0..<count {
            let btn = UIButton()
            btn.backgroundColor = UIColor.greenColor()
            btn.setTitle("标题\(i)", forState: UIControlState.Normal)
            btn.frame = CGRect(x: i*width,y: 0,width: width,height: 44)
            sc.addSubview(btn)
        }

        // 3.计算UIScrollView的contentSize
        sc.contentSize = CGSize(width: count*width,height: 44)
        **/

        //
        let sc = creatScrollView({ () -> Int in
            return 5
            }) { (index) -> UIView in

                let width = 80
                let btn = UIButton()
                btn.backgroundColor = UIColor.greenColor()
                btn.setTitle("标题\(index)", forState: UIControlState.Normal)
                btn.frame = CGRect(x: index*width,y: 0,width: width,height: 44)
                return btn
        }

            view.addSubview(sc)
    }


    // 要求:定义一个方法来创建UIScrollView,
    // 1.并且UIScrollView有多少个按钮通过闭包告诉该方法
    // 2.并且如何创建按钮 也是通过闭包来创建
    func creatScrollView(btnCount:() -> Int,btnWithIndex:(index:Int) -> UIView) ->UIScrollView
    {
        // 1.创建UIScollView
        let sc = UIScrollView(frame:CGRect(x: 0,y: 100,width: UIScreen.mainScreen().bounds.width,height: 44))
        sc.backgroundColor = UIColor.redColor()
        view.addSubview(sc)

        // 2.创建N多UIButton
        let count = btnCount()
        for i in 0..<count {
            let subView = btnWithIndex(index: i)
            sc.addSubview(subView)

            // 3.计算UIScrollView的contentSize
            sc.contentSize = CGSize(width: CGFloat(count) * subView.bounds.width,height: 44)
        }



        return sc
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值