ios - 在自定义 UITableViewCell 中调整 UILabel 大小的问题
<p><p>我正在尝试创建一个包含许多项目的 <code>UITableViewCell</code>,但我遇到了 <code>UILabels</code> 的问题。</p>
<p>当为 <code>UITableViewCell</code>、<code>TextLabel</code> 和 <code>DetailTextLabel</code> 使用默认样式时,只需获得适当的高度以适合内容,我只需要使用 <code>heightForRowAtIndexPath</code> 来计算<code>行高</code>。</p>
<p>但是对于我的自定义 <code>cell</code>,<code>UILabels</code> 不会 <code>resize</code> 它们的高度,始终保持 <code>size</code> 我在界面生成器上设置,我正在尝试这个</p>
<pre><code> CGRect frame;
cell.title.text = item.title;
frame.origin = cell.title.frame.origin;
frame.size =
constrainedToSize:CGSizeMake(FB_Cell_width, 4000) lineBreakMode:cell.title.lineBreakMode];
cell.title.frame = frame;
</code></pre>
<p>但是 <code>UILabel</code> 的大小没有改变。</p>
<p>我试试:</p>
<pre><code>cell.title.text = item.title;
;
</code></pre>
<p>但大小仍然没有改变。</p>
<p>我需要如何以及在何处更改 <code>UILabel</code> 框架以适应其内容?</p>
<p><strong>编辑:</strong>我只是取消了使用自动布局选项,现在它似乎工作了。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><pre><code> - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UILabel *title =[init];
title.numberOfLines = 0;
title.text = item.title;
float height =;
title.frame = CGRectMake(10, 10, 40, height);
;
}
- (CGFloat)heightForText:(NSString *)bodyText
{
UIFont *cellFont = ;
CGSize constraintSize = CGSizeMake(500, MAXFLOAT);
CGSize labelSize = ;
CGFloat height = labelSize.height + 10;
return height;
}
//try it like this may be it will helps u
</code></pre></p>
<p style="font-size: 20px;">关于ios - 在自定义 UITableViewCell 中调整 UILabel 大小的问题,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/16521137/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/16521137/
</a>
</p>
页:
[1]