让我先说我知道这是一个经常被问到的问题,我似乎无法找到与我一样的情景/问题的人.
我正在写一个音乐应用程序,我想出了一个我喜欢的用户界面.它需要一个具有特殊功能的按钮(过去可以通过自定义按钮类型实现),所以我决定创建一个UIButton子类.我在我的子类中使用了以下代码:
required init(coder aDecoder: NSCoder) {
self.activeState = false
self.activeAccidental = UIImageView()
super.init(coder: aDecoder)
self.layer.borderColor = UIColor(white:221/255, alpha: 1.0).CGColor
self.layer.borderWidth = 2.0
self.backgroundColor = UIColor.blackColor()
self.setTitleColor(UIColor.whiteColor(), forState: .Normal)
self.setTitle("Hello", forState: .Normal)
}
override func layoutSubviews() {
println(self.frame.origin.x)
self.activeAccidental = UIImageView(frame: CGRectMake(self.bounds.origin.x, self.bounds.origin.y, 20, 20))
self.activeAccidental.image = UIImage(named: "BMICalcIcon.png")
self.addSubview(activeAccidental)
}
Run Code Online (Sandbox Code Playgroud)
但是,当我向故事板添加一个按钮(并在字段中输入自定义类名称)时,无论是在显示的初始值设置中还是在故事板中的属性检查器中设置,我的标题都不可见.这是我在swift中的第一个重大项目,所以我不确定问题是什么.
ImageView移动到的代码initWithCoder
required init(coder aDecoder: NSCoder) {
self.activeState = false
self.activeAccidental = UIImageView()
super.init(coder: aDecoder)
self.activeAccidental = UIImageView(frame: CGRectMake(self.bounds.origin.x, self.bounds.origin.y, 20, 20))
self.activeAccidental.image = UIImage(named: …Run Code Online (Sandbox Code Playgroud)