自定义UIView背景图像

时间:2015-11-09 16:42:14

标签: ios swift uiview

我正在为我的项目使用swift。创建了一个自定义UIView类,如下所示:

class AppBgView: UIView {

override init (frame : CGRect) {
    super.init(frame : frame)
    //self.isMemberOfClass(<#aClass: AnyClass#>)

}

convenience init () {
    self.init(frame:CGRect.zeroRect)

}

required init(coder aDecoder: NSCoder) {
     super.init(coder: aDecoder)
     self.backgroundColor = UIColor(patternImage: UIImage(named: "BGround.png")!)

}

尝试在所需的init()方法中设置背景图像。但背景图像似乎没有改变。任何建议将不胜感激。感谢

2 个答案:

答案 0 :(得分:1)

在每个方法中放置一个断点,并查看正在调用哪个构造函数。 您需要移动

self.backgroundColor = UIColor(patternImage: UIImage(named: "BGround.png")!)

到被调用的构造函数。

在Swift中一个类必须至少有一个指定的初始值设定项。 您可能需要从init()中删除便利一词。

给这一个: UIColor(patternImage:UIImage(名称:&#34; BGround.png&#34;)!)。CGColor

答案 1 :(得分:0)

最后我设法解决它。用以下代码替换了self.backgroundColor = UIColor(patternImage:UIImage(named:&#34; BGround.png&#34;)!)代码:

if let image = UIImage(named: "bground.png") {
        self.layer.backgroundColor = UIColor(patternImage: image).CGColor
    }

背景图片已添加到该视图的图层中。有用。谢谢大家。