2015-12-21 86 views
0

我有一個自定義的tableViewCell。 questionContent是一個標籤,我設置了numberOfLines = 0lineBreakMode = NSLineBreakMode.ByWordWrapping但它沒有換行。即使我設置了`numberOfLines = 0`,UILabel也不會換行

存在questionContent標籤

let questionContent: UILabel = { 

      let tempView = UILabel() 
      tempView.numberOfLines = 0 
      tempView.font = UIFont.systemFontOfSize(15) 
      tempView.lineBreakMode = NSLineBreakMode.ByWordWrapping 
      tempView.backgroundColor = UIColor.redColor() 
      return tempView 
     }() 
layoutSubviews()

我設置它的框架

//questionContent 
      let questionContentX = avatorImageX 
      let questionContentY = CGRectGetMaxY(avatorImage.frame) + answeModel!.marginTopBottomLeftOrRight 
      let questionContentWidth = kScreenWidth - answeModel!.marginTopBottomLeftOrRight * 2 
      let questionContentHeight = answeModel!.contentRealSize.height 
      questionContent.frame = CGRectMake(questionContentX, questionContentY, questionContentWidth, questionContentHeight) 

第一數據questionContent.text = "Ssddfghjj ssddfghjjkk sssssffhjjk sasdfgghjjjkkllljhhgggggffdddssssaaaasfghjkkllnnvcczzzeefggghjjkkkklllkjhggtrrrddssdfcvvvxxcbbb"questionContent.frame(8.0, 46.0, 304.0, 84.0)但它不換行。這裏是截圖

enter image description here

+0

也許ü錯過標籤的寬度約束?比如從正確的標籤到屏幕的右邊緣?或者你強迫標籤高度也會導致這種情況發生 – Tj3n

+0

我設置了'frame'。這是問題嗎? – rose

+0

您是否嘗試過設置單元格的估計行高? '_tableView.rowHeight = UITableViewAutomaticDimension;''_tableView.estimatedRowHeight = 50;' –

回答

0

試試這個代碼:

添加sizeToFit線和嘗試。

let questionContent: UILabel = { 

      let tempView = UILabel() 
      tempView.numberOfLines = 0 
      tempView.font = UIFont.systemFontOfSize(15) 
      tempView.lineBreakMode = NSLineBreakMode.ByWordWrapping 
      tempView.sizeToFit() 
      tempView.backgroundColor = UIColor.redColor() 
      return tempView 
     }() 
+0

我試過了,但沒有奏效 – rose

0

它對我很有用。

let questionContent: UILabel = { 

     let tempView = UILabel() 
     tempView.numberOfLines = 0 
     tempView.font = UIFont.systemFontOfSize(15) 
     tempView.lineBreakMode = NSLineBreakMode.ByWordWrapping 
     tempView.backgroundColor = UIColor.redColor() 
     tempView.text = " This is two long text.This is two long text.This is two long text.This is two long text.This is two long text.This is two long text.This is two long text."; 
     tempView.frame = CGRectMake(0, 0, 200, 10.0); 
     tempView.sizeToFit() 
     return tempView 
     }() 

無需寫入layoutsubview()方法。

0

我只是陷入了同樣的問題。我添加標籤的電池是這樣的:

override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
    super.init(style: style, reuseIdentifier: reuseIdentifier) 
    addSubview(messageText) // add to cell itself 
} 

然後一大堆的時間後,改爲:

override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
    super.init(style: style, reuseIdentifier: reuseIdentifier) 
    contentView.addSubview(messageText) 
} 

只是需要將標籤添加到contentView

相關問題