2015-10-14 11 views
0

我有一個子視圖添加這種方式:UIButtons錨式的汽車佈局限制沒有顯示

dailyButtonView.translatesAutoresizingMaskIntoConstraints = false 
dailyButtonView.backgroundColor = UIColor.redColor() 


dailyWeeklyButtonViewContainer.addSubview(dailyButtonView) 

let centerX_d = dailyButtonView.centerXAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.centerXAnchor) 
let centerY_d = dailyButtonView.centerYAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.centerYAnchor) 
let width_d = dailyButtonView.widthAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.widthAnchor) 
let height_d = dailyButtonView.heightAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.heightAnchor) 
dailyButtonViewCenterX = centerX_d 
NSLayoutConstraint.activateConstraints([centerX_d,centerY_d,width_d,height_d]) 

以及剛結束,我要增加6 UIButton(相同的大小和間距相等),所以我做了這個:

let dayButtonSide = self.dailyButtonView.frame.height * 0.6 
let dayDistance = (self.dailyButtonView.frame.width - dayButtonSide * 7)/8.0 
for index in 0...6{ 
    let temp = UIButton() 
    temp.translatesAutoresizingMaskIntoConstraints = false 
    temp.layer.cornerRadius = 5 
    dailyButtonView.addSubview(temp) 
    var test = CGFloat(index) * (dayButtonSide/2) 
    test += CGFloat(index + 1) * dayDistance - (dailyButtonView.bounds.width/2) 
    let centerX_t = temp.centerXAnchor.constraintEqualToAnchor(dailyButtonView.centerXAnchor, constant: test) 
    let centerY_t = temp.centerYAnchor.constraintEqualToAnchor(dailyButtonView.centerYAnchor) 
    let width_t = temp.widthAnchor.constraintEqualToAnchor(nil, constant: dayButtonSide) 
    let height_t = temp.heightAnchor.constraintEqualToAnchor(nil, constant: dayButtonSide) 
    NSLayoutConstraint.activateConstraints([centerX_t, centerY_t, width_t, height_t]) 

但是,按鈕沒有顯示在模擬中,即使沒有錯誤或日誌中的警告。

回答

0

我想通了。問題出在這條線上:let dayButtonSide = self.dailyButtonView.frame.height * 0.6。因爲我在viewDidLoad中調用了這個函數,所以dailyButtonView沒有規定這一點。