我已经创建了两个自定义类:CutomView类(UIView的子类)和CustomButton类(UIButton的子类)。iOS中的CustomView和CustomButton
class CustomView: UIView {
override func drawRect(rect: CGRect) {
// Drawing code
layer.masksToBounds = true
layer.borderWidth = 2.0
layer.borderColor = UIColor(colorLiteralRed: 0.0/255, green: 64.0/255, blue: 128.0/255, alpha: 1).CGColor
layer.cornerRadius = 10.0
let startColor = UIColor(colorLiteralRed: 255.0/255, green: 204.0/255, blue: 1.0, alpha: 1.0).CGColor
let endColor = UIColor(colorLiteralRed: 0, green: 128.0/255, blue: 1.0, alpha: 1.0).CGColor
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(origin: layer.frame.origin, size: layer.frame.size)
gradientLayer.colors = [startColor, endColor];
layer.addSublayer(gradientLayer)
}
和
@IBDesignable
class CustomButton: UIButton {
override func drawRect(rect: CGRect) {
// Drawing code
layer.masksToBounds = true
layer.borderWidth = 2.0
layer.borderColor = UIColor(colorLiteralRed: 0.0/255, green: 64.0/255, blue: 128.0/255, alpha: 1).CGColor
layer.cornerRadius = 2.0
let startColor = UIColor(colorLiteralRed: 192.0/255, green: 192.0/255, blue: 192.0/255, alpha: 1.0).CGColor
let endColor = UIColor(colorLiteralRed: 239.0/255, green: 239.0/255, blue: 239.0/255, alpha: 1.0).CGColor
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(origin: layer.frame.origin, size: layer.frame.size)
gradientLayer.colors = [startColor, endColor];
layer.addSublayer(gradientLayer)
}
}
我使用的那些定制子类来设计视图和按钮。当我查看应用的自定义类时,它们工作正常,但由于某些原因,该按钮在模拟器或iOS设备中不可见。
如果有人能指向我的错误或帮我修复它,那将是非常棒的。
Storyboard and Preview shows the purple blue background and button
Simulator only displays purple blue background
如何ü在你的代码中添加按钮?更新代码或尝试使用button.settile方法设置标题 –
@Shobhakar Tiwari我正在使用故事板添加按钮并将该类设置为CustomButton for button。 – Roshan
okey所以按钮没有显示在故事板上,是否在故事板中设置了ibdesignable属性 –