【问题标题】:IBInspectable button inside IBDesignable viewIBDesignable 视图中的 IBInspectable 按钮
【发布时间】:2019-01-21 19:16:09
【问题描述】:

我在 IBDesignable 视图中有一个 IBInspectable 按钮。 我尝试了几件事,但运行程序时未显示我的图标。 最糟糕的是:我可以在视图内的情节提要上看到它,但是当我运行时图标未设置。

我做错了什么,我不明白

@IBDesignable class CustomView: UIView {
   @IBOutlet weak var firstIcon: UIButton!

    //Not working
    override func prepareForInterfaceBuilder() {
      let designTimeBundle = Bundle(for: CustomView.self)

      let image = UIImage(named: "home", in: designTimeBundle, 
      compatibleWith: nil)

      firstIcon.setImage(image, for: .normal)
   }
   //Not working either
   @IBInspectable var firstButtonIcon: UIButton {
    let bundle = Bundle(for: CustomView.self)
    let image = UIImage(named: "home", in: bundle, 
    compatibleWith: nil)
    firstIcon.setImage(image, for: .normal)

    return firstIcon
   }

   //And still not
   @IBInspectable var firstButtonIcon: UIButton! {
    firstIcon.setImage(UIImage(named: "home"), for: .normal)

    return firstIcon
   } 
}

【问题讨论】:

  • 我也避免为 IBInspectable 属性计算 var

标签: ios swift


【解决方案1】:

您的代码将永远无法工作。首先阅读有关如何使用IBInspectable 的文档。它适用于UIImageUIColorFloatIntDouble 等类型的变量。它对UIButton 类型的变量永远不起作用。此外,如果您将它们与IBDesignable 一起使用以显示在情节提要中,那么您必须具有相同的getter 和setter。

我建议你应该阅读一些关于如何以及何时使用 IBDesignalbeIBInspectable 的好教程或文档

【讨论】:

  • 感谢您的快速答复。哎呀好的,我会找到另一种方法来做到这一点
猜你喜欢
  • 1970-01-01
  • 2014-08-19
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多