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 -
为了获得没有点的线,请执行以下操作 -
- Take the UILabel inside the cell, go to the attribute inspector.
- In the attribute inspector find lines and change it to 0.
- Then, change the line break to WordWrap
取出单元格内的UILabel,转到属性检查器。
在属性检查器中查找行并将其更改为0。
然后,将换行符更改为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
您可以根据标签的文本大小实现自动单元大小调整
- In your cell, add constraints for Top and Bottom of UILabel, but not for cell height or label height
- In your table view set
tableView.rowHeight = UITableViewAutomaticDimension
在您的单元格中,为UILabel的顶部和底部添加约束,但不为细胞高度或标签高度添加约束
在表视图中设置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 -
为了获得没有点的线,请执行以下操作 -
- Take the UILabel inside the cell, go to the attribute inspector.
- In the attribute inspector find lines and change it to 0.
- Then, change the line break to WordWrap
取出单元格内的UILabel,转到属性检查器。
在属性检查器中查找行并将其更改为0。
然后,将换行符更改为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
您可以根据标签的文本大小实现自动单元大小调整
- In your cell, add constraints for Top and Bottom of UILabel, but not for cell height or label height
- In your table view set
tableView.rowHeight = UITableViewAutomaticDimension
在您的单元格中,为UILabel的顶部和底部添加约束,但不为细胞高度或标签高度添加约束
在表视图中设置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