2015-07-18 23 views
1

我试图设置一个tableview,每个单元格左边都有一个图像,一个覆盖图像的Label以及一个标签在长文本图像的右侧,如果需要,可以将它换行到下一行。我的tableview行高设置为65.Swift:在TableView原型单元格中获取标签以显示多行(单词换行)

我已将行数设置为0并将换行符设置为工作换行。

​​

我甚至试过在我CustomTableViewCell类编程设置参数:

self.materialLabel?.numberOfLines = 0 
    self.materialLabel.sizeToFit() 
    self.materialLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping 

我已经尽我的标签上设置约束的多种组合,但它要么不工作或影响所有单元格中的图像和图像标签不同步的对象。对齐约束无法设置。

和Xcode 6.3.2,雨燕1.2和iOS 8

在先进的感谢合作!

回答

0

原来我的标签宽度太宽了。我必须在我的标签上设置约束之前,锚定我的imageview和图像标签,并设置宽度和高度。

1

您可以使用动态细胞高度(或自我大小细胞)。

基本上,你创建topleadingbottomtrailing相对于细胞的contentView标签的限制。

,然后设置

tableView.rowHeight = UITableViewAutomaticDimension 
tableView.estimatedRowHeight = someValue 

http://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift

+0

感谢您的回复。我其实需要一个静态单元格高度。我的表格视图行高设置为65.我只需要labelview文本来包装。 – wyoskibum

1

有很多方法来设置动态高度的表格单元格。

如果您没有使用autolayout,则需要以编程方式计算表大小并使用表视图委托方法返回。

如果您使用autolayout,您的生活将会非常轻松。将约束添加到单元格,I.e将边界,宽度和高度约束添加到图像。仅对图像添加4个边界约束(不要添加高度约束)。这可能不是确切的约束,但这会给你一个想法。在viewDidload中添加以下代码

tableView.rowHeight = UITableViewAutomaticDimension 
tableView.estimatedRowHeight = someValue 

这应该有效。

+0

感谢您的回复。我希望细胞高度是静态的。我只需要包装文字。 – wyoskibum

相关问题