UITableViewCell的detailTextLabel

时间:2015-08-19 21:45:54

标签: ios objective-c uitableview

在我的UITableViewCell UITableViewCellStyleSubtitle中,我想填充detailTextLabel的完整最大宽度;左侧的一个短文本(左对齐)和最右侧的另一个短文本(右对齐)。这两个文本将在它们之间留出足够的空间。

我找到了this,但这似乎不起作用;它只是在左右两部分之间增加了一个固定的空间。

如果detailTextLabel有一个固定的宽度扩展整个可用的单元格空间,那就不会那么难:可以计算两个字符串的宽度,并使用NSKernAttributeName填充剩余空间。但是,遗憾的是detailTextLabel会针对当前内容进行动态调整。

有没有人想出一个优雅的解决方案来做到这一点? (除了小步骤使文本越来越长,直到它达到detailTextLabel的全部潜在宽度,并因...而略微缩短。)

1 个答案:

答案 0 :(得分:4)

这对我有用。试试这个:

 cell.detailTextLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping;
 cell.detailTextLabel!.numberOfLines = 0;

如果要在tableView中设置左视图和右视图。

选择你的tableView并转到属性检查器并将原型单元格设置为1,如下面的屏幕截图所示:

enter image description here

选择tableView单元格并转到属性检查器,然后按照以下屏幕截图所示进行设置:

enter image description here

选择正确的细节后,tableview单元格将包含以下屏幕截图:

enter image description here

“cell.textLabel!.text”中设置的文字是左视图(标题) 并且“cell.detailTextLabel!.text”中设置的文本是右视图(详细信息)

希望这可能会有所帮助。