gpt4 book ai didi

ios - 自定义 UIButton 子类不显示标题

转载 作者:行者123 更新时间:2023-11-28 09:32:00 25 4
gpt4 key购买 nike

首先让我说我知道这是一个经常被问到的问题,但我似乎找不到与我有相同情况/问题的人。

我正在编写一个音乐应用程序,我想出了一个我喜欢的 UI。它需要一个具有特殊功能的按钮(过去可以通过自定义按钮类型实现)所以我决定制作一个 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)
}

但是,当我向 Storyboard 中添加一个按钮(并在字段中输入自定义类名)时,无论是在初始化程序中设置(如图所示),还是在 Storyboard 的属性检查器中设置,我的标题都不可见。这是我在 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: "BMICalcIcon.png")
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)
self.addSubview(activeAccidental)
}

最佳答案

也许添加[super layoutSubviews];我遇到了同样的问题,因为我忘了添加这行。之后,您可以添加所需的代码。

关于ios - 自定义 UIButton 子类不显示标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com