2016-01-29 59 views
0

我试图将按钮以编程方式添加到视图,但它们似乎意外定位。谁能告诉什么是错的:以编程方式添加按钮的位置不正确

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

+0

'x2'是按钮的宽度,但您似乎计算了maxX。 –

+0

每个按钮比它的前身更宽。这些按钮似乎互相移动,因此你不能看到大多数按钮的文本标签。按钮9(10)宽度为195点。 – iCode

+0

是的,对不起。我虽然X2是一个位置,而不是按钮宽度。任何原因按钮文本是白色BTW? – bashan

回答

1

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

相关问题