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

Mar*_*oli 0 uiscrollview ios swift

这是我的代码

类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)
    }
}
Run Code Online (Sandbox Code Playgroud)

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

我这样做是因为我只需要有一个滚动视图,其中包含比模拟可以包含的更多的项目,只需要检查滚动内容即可

The*_*alk 5

您只需要设置背景颜色(或文本颜色),现在它们都是白色,因此看起来好像没有被绘制。您的代码如下所示:

@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)
    }

}
Run Code Online (Sandbox Code Playgroud)

我还对框架进行了一些更改,以使它们沿滚动视图沿直线绘制。另外,除非正确设置contentSize,否则视图不会滚动,因此您需要在for循环之后立即插入一行,如下所示:self.d.contentSize.height = CGFloat(45*numButtons)