swift 学习<六> 闭包练习

import UIKit


class ViewController:UIViewController {


   override func viewDidLoad() {

       super.viewDidLoad()

        

       let ary = ["ni","hao","shi","jie","ni","hao","shi","jie"]

        

  let scroll =  creatScrollView({ () ->Int in

       // 返回要 创建 lab的数目

           return ary.count

        }, lable: { (index) ->UILabel in

        // 创建完成一个lab 返回

           let lab = UILabel()

            lab.text = ary[index]

            

            lab.textAlignment  =NSTextAlignment.Center

            lab.font =UIFont.systemFontOfSize(14)

            lab.sizeToFit()

           return lab

            

        })

        

       self.view .addSubview(scroll)

        

    }

  

    // 返回 scrollView

   func creatScrollView(numberLable : () -> Int,lable : (index : Int) -> UILabel) -> UIScrollView{

     // 创建 scrollView

     let scrollView = UIScrollView(frame:CGRectMake(0,50, 320, 50))

     // 获得lable 的数目

    let num = numberLable()

     

       var margin : (CGFloat) =8

       var labW : (CGFloat) =50

      // swift 可以直接拿到 height 不用通过 size

       var labH : (CGFloat) = scrollView.frame.height

          var labX : (CGFloat) =0

       // 循环添加

       for i in 0..<num{

       let lab = lable(index: i)

       // swift对格式要求非常严格,没有隐式转换, 所以 不能 Int * CGFloat

     //   var labX : (CGFloat) = (CGFloat)(i * (labW + margin))

        lab.frame =CGRectMake(labX, 20, labW, labH)

        labX  +=  labW + margin

        scrollView.addSubview(lab)

        

        }

        

        scrollView.contentSize =CGSizeMake(labX, labH)

        scrollView.showsHorizontalScrollIndicator =false

        

    

      return scrollView

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值