我是不是需要在自定义 UIView 中使用单独的 UILabel 才能在 UITableViewCell 中有单独的 UILabel 行?

Posted

技术标签:

【中文标题】我是不是需要在自定义 UIView 中使用单独的 UILabel 才能在 UITableViewCell 中有单独的 UILabel 行?【英文标题】:do I need separate UILabel in a custom UIView to have separate UILabel lines in a UITableViewCell?我是否需要在自定义 UIView 中使用单独的 UILabel 才能在 UITableViewCell 中有单独的 UILabel 行? 【发布时间】:2011-06-08 01:43:08 【问题描述】:

我是否需要在自定义 UIView 中使用单独的 UILabel 才能在 UITableViewCell 中使用单独的 UILabel 行?

也就是说,如果我想要一个包含所有文本的 TableViewCell,但文本需要包含 4 个单独的字符串(例如名称、标题、描述、位置)的 4 个单独的行,并且每个单独的行都可以包含一个环绕。

反过来问这个问题,普通的 UITableViewCell 有没有办法使用它的内容视图和单个文本标签来强制回车/换行点位于四个字符串的每个末尾?哦,是的,并且需要为每个单元格计算单元格高度,因为它可能会有所不同(以防万一这很重要)

【问题讨论】:

【参考方案1】:

最后一个问题的答案:NO。 (题目答案:YES。)

您可以在自己的 NIB 文件中构建单元。如果你从未做过,我建议你做一个练习。

随心所欲地布局大小/位置/调整大小功能。

您的表视图控制器可以是文件的所有者, 给loadedCell的TV控制器添加一个outlet,调用load nib 每次你想分配一个新的单元格时,

我建议标记每个单元格标签,然后访问它们 这样,并在加载后将loadedCell 的值设置为nil

附言UILabel 通常会不合需要地换行文本,或者很难在单元格中布局以使其看起来不错,请考虑 lineBreakMode 的其他值作为标签

p.p.s.它将采用取决于adjustsFontSizeToFitWidthminimumFontSize 的文本缩短行为(考虑到这一点和lineBreakMode

【讨论】:

p.p.p.s 您可以在 NIB 文件中设置“重用标识符”,或者在加载后以编程方式设置,但应该设置!在代码中这样做有助于确保您使用与调用 dequeueReusableCellWithIdentifier: 相同的值

以上是关于我是不是需要在自定义 UIView 中使用单独的 UILabel 才能在 UITableViewCell 中有单独的 UILabel 行?的主要内容,如果未能解决你的问题,请参考以下文章

我真的需要在自定义 UIView 中使用 drawRect() 吗?

如何在自定义 UIView 中从 ViewController 传递数据

在自包含的自定义 UIView 子类中使用 .xib 文件进行原型设计

使用 Swift 在 Xcode 6 中使用 xib 在自定义 uiview 中获取 SIGABRT

在自定义 UIView 类 Iphone 上应用自动布局约束。

如何快速在自定义导航栏顶部制作一半的 ImageView