UITableViewCell 中的 UILabel - 截断信息
Posted
技术标签:
【中文标题】UITableViewCell 中的 UILabel - 截断信息【英文标题】:UILabel inside UITableViewCell - Cuts off information 【发布时间】:2013-12-14 20:14:12 【问题描述】:我正在开发一个 ios 应用程序以在 UITableView 中显示有关我的 facebook 朋友的信息,但我遇到了问题。我使用带有 2 个 UILables(字段和描述)的自定义单元格:
在字段标签中,我设置了教育、工作等信息的类别。在描述标签中,我设置了相应的信息:
我的问题是标签不适合信息的大小并切断了部分信息,如上所示。我厌倦了寻找解决方案,但我一无所获。我已经尝试实现此答案 (Adjust UILabel height depending on the text) 中的代码但无法正常工作!
有什么建议吗? 提示
【问题讨论】:
您提到的答案看起来很有希望,请发布您尝试过的代码。另一种选择是 UITextField。不过,有点重量级。 【参考方案1】:UILabels 很好,但你为什么不使用UITextView?您可以在 textView 中使用 \n,我可以看到标签中有大文本,根据您的文本大小缩放字体大小并不是一个很好的决定。只需将 textView 添加到您的自定义单元格,禁用用户交互,将可编辑设置为 NO,您就完成了。您还可以使用此代码更改单元格高度,具体取决于文本大小:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
//Load text in NSString which you want in Cell's textView.
NSString *cellText;
cellText = @"Insert your text here";
//define font for textView...
UIFont *cellFont = [UIFont fontWithName:@"Georgia" size:19.0];//change your font here
CGSize constraintSize = CGSizeMake(330.0f, MAXFLOAT);
CGSize labelSize_val = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize_val.height + 20;
【讨论】:
【参考方案2】:您在Adjust UILabel height depending on the text 找到的答案是一个好的开始。
另外确保您设置行高:https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:
另一个需要注意的地方是你的 UILabel 的自动调整大小设置。
【讨论】:
以上是关于UITableViewCell 中的 UILabel - 截断信息的主要内容,如果未能解决你的问题,请参考以下文章
更改 UITableViewCell 中的对象也更改了重用 UITableViewCell 的对象
确定 UITableViewCell 中的 UIButton
UITableViewCell 事件中的 UIButton 不起作用
UITableViewCell 中的 UICollectionView