2016-01-29 100 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:) - 因爲它使用命名參數

相關問題