//
// 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
}
}
闭包的返回值和参数
最新推荐文章于 2022-06-21 11:27:57 发布