swift 无法将按钮动态添加到滚动视图

swift couldn't add button dynamically to a scroll view

这是我的代码

class ViewController: UIViewController {

@IBOutlet weak var d: UIScrollView!
let numberOfButtons = 50

override func viewDidLoad() {

    super.viewDidLoad()
    for index in 0..<self.numberOfButtons {
        let frame1 = CGRect(x: 20 + index, y: 20 + index, width: 45, height: 45 )
        let button = UIButton()
        button.frame = frame1
        button.titleLabel?.text = "asdfasdf"
        self.d.addSubview(button)
    }
}

很简单,当我 运行 模拟时,我在滚动视图中看不到任何按钮。

我这样做是因为我只需要一个滚动视图,它的项目比模拟所能拥有的要多,只是为了检查滚动的东西

你只需要设置背景颜色(或者文字颜色),现在都是白色的,看起来没有画出来。您的代码如下所示:

@IBOutlet weak var d: UIScrollView!
let numberOfButtons = 50

override func viewDidLoad() {

    super.viewDidLoad()
    for index in 0..<self.numberOfButtons {
        let frame1 = CGRect(x: 20, y: 20 + (index * 45), width: 45, height: 45 )
        let button = UIButton(frame: frame1)
        button.setTitle("asdfasdf", forState: .Normal)
        button.backgroundColor = UIColor.blackColor()
        self.d.addSubview(button)
    }

}

我还稍微更改了框架,以便它们在滚动视图中画成一条直线。此外,除非您正确设置 contentSize,否则您的视图将不会滚动,因此您需要在 for 循环之后立即插入一行,如下所示:self.d.contentSize.height = CGFloat(45*numButtons)