我认为我正在做的一切正确,但我的表格视图单元格没有调整大小,所以我的标签被截断了。
这是我在单元格内的设置:
20 (1000)
|
|
20 (1000) ---- Title ---- 20 (1000)
|
|
20 (1000)
|
|
20 (1000) ---- Quote ---- 20 (1000)
|
|
>= 20 (1000)
标题:
Content Hugging Priority: H 251, V 251
Content Compression Resistance Priority: H 750, V 750
引用:
Content Hugging Priority: H 251, V 251
Content Compression Resistance Priority: H 750, V 750
我在viewDidLoad
:
tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension
最后,标题和引号标签都将numberOfLines
设置为0。
我有什么遗漏的吗?引号标签总是被截断。
答案 0 :(得分:3)
将 estimatedRowHeight = 250 和tableView rowHeight 保持为UITableViewAutomaticDimension
顶部标签的垂直约束:
顶部= 20
高度> = 20
底部= 20
行数= 0
lineBreak = wordWrap
底部标签的垂直约束:
高度> = 20
底部= 20(优先级=低)
行数= 0
lineBreak = wordWrap
屏幕截图:
<强> 1。顶部标签自动换行(相同的下标签):
<强> 2。顶级标签限制:
第3。底部标签限制:
<强> 4。底部标签底部空间优先级:
<强> 5。模拟器上的输出:
答案 1 :(得分:0)
1- in p = [[0]*3]*3
p[0][0] = 5
for i in p:
print(i)
#prints:
#[5, 0, 0]
#[5, 0, 0]
#[5, 0, 0]
放入一个当前以xib为单位的单元格高度的数字
estimatedRowHeight
2-在返回单元格之前的cellForRow
tableView.estimatedRowHeight = 250
tableView.rowHeight = UITableViewAutomaticDimension
在此处查看演示cellSize
答案 2 :(得分:0)
我在答案中看到了这个技巧,但现在找不到链接,所以我将在这里发布我的修改版本。
基本上你强迫单元格布局到最大边界,并计算标签所需的高度(在设置文本之后)。
在cellForRowAtIndex:
cell.bounds = CGRect(x: 0, y: 0, width: tableView.bounds.width, height: 99999)
cell.contentView.bounds = cell.bounds;
cell.layoutIfNeeded()
可以尝试的另一件事 - 在上半部分强制布局之后 - :
cell.titleLabel.preferredMaxLayoutWidth = cell.titleLabel.frame.width
cell.quoteLabel.preferredMaxLayoutWidth = cell.quoteLabel.frame.width
或者您也可以从tableView
的宽度计算它,因为前导空格和尾随空格已定义。
希望这有帮助。