【问题标题】:IBDesignable can't set background on buttonsIBDesignable 无法在按钮上设置背景
【发布时间】:2016-01-07 13:03:54
【问题描述】:

我正在尝试在我的 IOS 项目中创建一个自定义按钮。但是当我用我的班级创建按钮时,背景在情节提要中不起作用。但是当我运行程序时,按钮工作正常。

你看到我的课了

@IBDesignable class GreenButtonTest : UIButton{

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

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        style()
    }

    private func style() {
        self.backgroundColor = UIColor(CGColor: "#6eb18c".CGColor)
    }
}

【问题讨论】:

  • 您的按钮是否设置为自定义类型?

标签: xcode swift ibdesignable


【解决方案1】:

您还需要覆盖 prepareForInterfaceBuilder() 并从那里调用 style()。

试试这个:

@IBDesignable class GreenButtonTest : UIButton{

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

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        style()
    }

    override func prepareForInterfaceBuilder() {
        style()
    }

    private func style() {
        self.backgroundColor = UIColor.greenColor()
    }

}

【讨论】:

  • 我从哪里知道进行了这些更改??
  • 我的意思是我在哪里看到苹果文档上的这些变化,我如何意识到文档上有变化
  • 您可以观看 WWDC 会议视频以了解新功能:developer.apple.com/videos/wwdc2015
  • 其实不用,你不需要这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 2020-08-06
  • 2010-09-27
  • 2016-10-20
  • 1970-01-01
  • 2013-06-05
相关资源
最近更新 更多