【问题标题】:how to customize a label when is not in viewdidload?不在viewdidload中时如何自定义标签?
【发布时间】:2021-02-17 21:38:57
【问题描述】:

【问题讨论】:

  • 请发布您的代码,而不是粘贴图片链接。
  • 对此我很抱歉。下次我会小心的
  • 没问题,这也是您的兴趣所在,因为其他人可以获取您的代码并使用它
  • 你说得对

标签: swift uicollectionview label customization viewdidload


【解决方案1】:

UIView 子类没有 viewDidLoad 方法,而是使用视图的初始化器:

class MyCell: UICollectionViewCell {

   override init(frame: CGRect) {
       super.init(frame: frame)
       layoutUI()
   }

   required init?(coder: NSCoder) {
       super.init(coder: coder)
       layoutUI()
   }

   private func layoutUI() { 
        label.layer.cornerRadius = 5
        label.backgroundColor = .blue
   }
}

【讨论】:

  • 但是我使用 stroyboard 并且集合视图在故事板中。当我实现该代码时,它给了我“在'super.init'调用之前使用的'self'”和“在'super.init'调用之前在方法调用'layoutUI'中使用的'self'”
  • 是的,很抱歉。我修好了它。现在应该可以工作了。
  • 好吧,很抱歉错误已修复,但它在“label.layer.cornerRadius = 5”处给了我新的错误。错误是“在隐式展开可选值时意外发现 nil”。但我的标签已定义
  • 您能否将这个问题作为与代码不同的问题并提供给我链接?
  • 我无法提出新问题。因为我的名声很差
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2014-09-03
  • 1970-01-01
  • 2019-11-18
  • 2017-05-29
  • 2017-09-07
  • 2020-02-17
相关资源
最近更新 更多