我有一个可扩展的tableView,当我展开一个部分时,比有三个单元格。在峡湾上,只有名字和第二个细胞。它有很大的内容。现在我想根据内容自动调整此标签的高度和宽度。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tblView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomTableViewCell
let dataArrayTblView = dataArrayForTableView
let titleName = dataArrayTblView.valueForKey("name")
let dueDate = dataArrayTblView.valueForKey("deadlinedate")
let description = dataArrayTblView.valueForKey("description")
cell.titleLabel.text = titleName[indexPath.row] as AnyObject! as! String!
cell.dueDateLabel.text = dueDate[indexPath.row] as? String
cell.descriptionLabel.text = description[indexPath.row] as? String
cell.descriptionLabel.sizeToFit()
cell.textLabel?.backgroundColor = UIColor.clearColor()
cell.selectionStyle = .None
return cell
}
但未获得完整内容
答案 0 :(得分:0)
尝试设置此项。它会自动调整行的高度。如果它不起作用,那么你的故事板中的约束就会出错。
grep *.xml '$' file1.txt > output
答案 1 :(得分:0)
使用heightForRowAtIndexPath
方法调整行的高度。计算
此方法使用boundingRectWithSize
的字符串大小。例如:
试试这个:
if let YOUR_STRING:NSString = str as NSString? {
let sizeOfString = ns_str.boundingRectWithSize(
CGSizeMake(self.titleLabel.frame.size.width, CGFloat.infinity),options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: lbl.font], context: nil).size
}
答案 2 :(得分:0)
您应该使用UITableViewAutomaticDimension
作为行高,例如
// this should be set in viewDidload
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 140
为此您必须使用autolayout
,并且应在单元格中为您的标签设置正确的constraints
。
约束应该是线性链,我的意思是你的标签的顶部和底部都必须设置约束,你的标签应该根据内容调整大小,这样你的单元格就会相应调整大小!
答案 3 :(得分:0)
将以下内容放入viewDidLoad并按照以下屏幕截图设置自动布局。
tblview.rowHeight = UITableViewAutomaticDimension
tblview.estimatedRowHeight = 44