【问题标题】:How do you add a UILabel to a UICollectionViewCell without custom class?如何在没有自定义类的情况下将 UILabel 添加到 UICollectionViewCell?
【发布时间】:2018-01-20 02:13:39
【问题描述】:

我已将 UICollectionViewController 拖到主情节提要并创建了相应的类。

我已经正确命名/连接了故事板和视图控制器中的所有内容。

但我无法访问放在 UICollectionViewCell 中的对象...例如,我无法在 UILabel 上设置 text 属性。

如果我创建一个自定义 UICollectionViewCell 类并将 @IBOutlet 创建/连接到 UILabel 一切正常。

但是我必须创建这个自定义 UICollectionViewCell 类吗?

看起来集合视图知道标签已添加到单元格,基于故事板中的树视图。

我只想添加一个带有一些默认文本的标签,并希望避免添加额外的文件。

【问题讨论】:

  • 您需要一个自定义类,因为您的 dequeueReusableCell 将返回一个没有标签的 UICollectionViewCell。但是为它编写一个自定义类真的很容易。
  • 我知道这很容易并且知道怎么做。但似乎没有必要为单元格添加自定义类。 Storyboard 似乎知道单元格包含 uilabel 对象,并且代码似乎知道单元格的标识符.. 它还需要手动创建自定义类和 iboutlet 连接似乎很奇怪
  • @seanb123 检查我的答案
  • 您可以做的是在 cellForItemAt 中以编程方式添加标签和约束

标签: ios uicollectionview storyboard uicollectionviewcell


【解决方案1】:

即使不创建自定义类,您也可以使用 'Tag'

例如,为您的UICollectionView 标签添加标签“101”,如下所示。

然后在你的cellForRowAt 方法中:

let label = cell.viewWithTag(101) as! UILabel
label.text = "Hi"

希望对你有帮助!

【讨论】:

  • 谢谢。这就是我要找的。我希望只使用单元格标识符来做到这一点,但这确实有效。
  • 快乐编码 :-) @seanb123
  • 嗯.. @lmad 你如何让它出现在单元格中?
  • @seanb123 使用标签。标签对于识别 UI 元素非常有用。
【解决方案2】:

UICollectionView 没有像 UITableView 这样的现成单元格模板。 您必须创建自己的 UICollectionViewCell 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多