表视图单元格中的文本未包装到第二行

时间:2021-12-28 00:50:10

I have a cell which may have to display a long text. In this case it should wrap to a second line.

我有一个可能需要显示长文本的单元格。在这种情况下,它应该换行到第二行。

I have Lines set to 2 and Line Break set to Word Wrap in the attributes Inspector. The Interface Builder preview confirm that and behaves as expected/desired.

我在属性Inspector中将Lines设置为2并将Line Break设置为Word Wrap。 Interface Builder预览确认该行为符合预期/期望。

表视图单元格中的文本未包装到第二行

When building and running however the text is limited to one line and truncuates at the tail: 表视图单元格中的文本未包装到第二行

在构建和运行时,文本仅限于一行并在尾部进行切割:

Other changes in the attribute inspector seem to have no effect aswell (text alignment for example)!

属性检查器中的其他更改似乎也没有效果(例如文本对齐)!

5 个解决方案

#1


4  

For getting the lines without the dots, Do the following -

为了获得没有点的线,请执行以下操作 -

  1. Take the UILabel inside the cell, go to the attribute inspector.
  2. 取出单元格内的UILabel,转到属性检查器。

  3. In the attribute inspector find lines and change it to 0.
  4. 在属性检查器中查找行并将其更改为0。

  5. Then, change the line break to WordWrap
  6. 然后,将换行符更改为WordWrap

I think this will work.

我认为这会奏效。

#2


2  

Swift 3

Add Two Methods in tableview.

在tableview中添加两个方法。

 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
                return UITableViewAutomaticDimension
 }

 func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
                return UITableViewAutomaticDimension
 }

#3


1  

If anyone is still having the problem.. Here's the solution for swift 4 Xcode 9 iOS 11

如果有人仍然有问题..这是swift 4 Xcode 9 iOS 11的解决方案

inside the cellForRowAt tableview function you just have to add a single line of code

在cellForRowAt tableview函数中,您只需添加一行代码即可

cell?.textLabel?.numberOfLines = 0

#4


0  

You can implement automatic cell sizing depending on the label's text size

您可以根据标签的文本大小实现自动单元大小调整

  1. In your cell, add constraints for Top and Bottom of UILabel, but not for cell height or label height
  2. 在您的单元格中,为UILabel的顶部和底部添加约束,但不为细胞高度或标签高度添加约束

  3. In your table view set
    tableView.rowHeight = UITableViewAutomaticDimension
  4. 在表视图中设置tableView.rowHeight = UITableViewAutomaticDimension

This will make the cells resize according to label's contents

这将使细胞根据标签的内容调整大小

#5


0  

If you want to have multiple lines in label so in attributes inspector set lines to 0 and implement

如果要在标签中有多行,那么在属性检查器中将行设置为0并实现

tableView.rowHeight = UITableViewAutomaticDimension

#1


4  

For getting the lines without the dots, Do the following -

为了获得没有点的线,请执行以下操作 -

  1. Take the UILabel inside the cell, go to the attribute inspector.
  2. 取出单元格内的UILabel,转到属性检查器。

  3. In the attribute inspector find lines and change it to 0.
  4. 在属性检查器中查找行并将其更改为0。

  5. Then, change the line break to WordWrap
  6. 然后,将换行符更改为WordWrap

I think this will work.

我认为这会奏效。

#2


2  

Swift 3

Add Two Methods in tableview.

在tableview中添加两个方法。

 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
                return UITableViewAutomaticDimension
 }

 func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
                return UITableViewAutomaticDimension
 }

#3


1  

If anyone is still having the problem.. Here's the solution for swift 4 Xcode 9 iOS 11

如果有人仍然有问题..这是swift 4 Xcode 9 iOS 11的解决方案

inside the cellForRowAt tableview function you just have to add a single line of code

在cellForRowAt tableview函数中,您只需添加一行代码即可

cell?.textLabel?.numberOfLines = 0

#4


0  

You can implement automatic cell sizing depending on the label's text size

您可以根据标签的文本大小实现自动单元大小调整

  1. In your cell, add constraints for Top and Bottom of UILabel, but not for cell height or label height
  2. 在您的单元格中,为UILabel的顶部和底部添加约束,但不为细胞高度或标签高度添加约束

  3. In your table view set
    tableView.rowHeight = UITableViewAutomaticDimension
  4. 在表视图中设置tableView.rowHeight = UITableViewAutomaticDimension

This will make the cells resize according to label's contents

这将使细胞根据标签的内容调整大小

#5


0  

If you want to have multiple lines in label so in attributes inspector set lines to 0 and implement

如果要在标签中有多行,那么在属性检查器中将行设置为0并实现

tableView.rowHeight = UITableViewAutomaticDimension