以编程方式添加按钮未正确定位

时间:2016-01-29 21:49:51

标签: ios swift uibutton

我正在尝试以编程方式向视图添加按钮,但它们似乎意外地定位。任何人都可以说出错了:

    for var i = 0; i < 10; i++ {
        let button = UIButton(type: UIButtonType.Custom) as UIButton
        let x1 = i * 20
        let x2 = i * 20 + 15
        button.frame = CGRectMake(CGFloat(x1), 20, CGFloat(x2), 40)
        button.backgroundColor = UIColor.blueColor()
        button.titleLabel?.textAlignment = .Center

        button.setTitle(String(i + 1), forState: .Normal)

        self.view.addSubview(button)
    }

结果: enter image description here

1 个答案:

答案 0 :(得分:1)

CGRectMake中的第三个参数是宽度,而不是x2。所以你应该通过15(或你想要的按钮宽度)。还要考虑使用swift版本的CGRect初始化程序 - CGRect(x:y:width:height :) - 因为它使用命名参数