2015-09-13 34 views
0

我在自定義單元格中有一個標籤,它不會調整大小。代碼如下:在代碼中調整自定義單元格中的標籤大小

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 



    let myCell2 = tableView.dequeueReusableCellWithIdentifier("privatecell1", forIndexPath: indexPath) as! YourPrivateControllerCell 

    myCell2.barfront1.frame.size.width = 200 
    myCell2.barfront1.layer.masksToBounds = true 
    return myCell2 
} 

我知道我可以通過添加一個約束來設置寬度,但每個行的標籤都是不同的大小。該代碼適用於普通視圖控制視圖,但似乎不適用於tableview單元格/行。實際的代碼將是:

myCell2.barfront1.frame.size.width = myCell2.barback1.frame.size.width * percent 

,但我甚至不能得到標籤,調整爲200

回答

1

您可以使用約束,並與@IBOutlet連接限制這樣的。當然你必須把它放在YourPrivateControllerCell中。

@IBOutlet weak var labelWidth: NSLayoutConstraint? = nil 

然後調用你的標籤下面的方法將改變寬度。

labelWidth.constant = 200 

好運。

+0

我的解決方案實際上不起作用,因爲當您滾動時,標籤的寬度約束會發生變化,並且會走出怪誕。您的迴應是正確的解決方案。謝謝賈森!!!!!!!! – gooberboobbutt

0

我得到它的工作。我沒有爲標籤設置寬度,而是添加了佈局寬度限制。代碼:

myCell2.barfront1.addConstraint(NSLayoutConstraint(item: myCell2.barfront1, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: myCell2.barback1.frame.size.width * barwidth1[indexPath.row] * 0.01)) 

現在標籤對於每一行都是不同的大小。

相關問題