我已为错误消息创建了自定义视图。
我创建了一个 ErrorView.swift 子类UIView
,我还在Interface Builder中创建了 ErrorView.xib 。
在身份检查器中,我将 xib 的自定义类设置为 ErrorView.swift 但是 当我尝试加载这个特定的视图时,它不起作用。
为什么呢?你能救我吗?
这是代码:
我的个性化课程名为ErrorView
Class ErrorView: UIView {
class func errorInView(view:UIView, animted:Bool) -> ErrorView {
println("ERROR VIEW LOADED")
let errorView = ErrorView(frame: view.bounds)
errorView.opaque = false
view.addSubview(errorView)
return errorView
}
}
我的xib:
http://i59.tinypic.com/23tnlev.png
这是我在ViewController
中用来调用视图的代码。
let errorView = ErrorView.errorInView(self.view, animted: true)
答案 0 :(得分:1)
这里的问题是你没有加载xib,而是在代码中创建一个新的错误视图。
如果在创建errorView后添加errorView.backgroundColor = UIColor.greenColor()
,但在将其添加为子视图之前,您将看到屏幕变为绿色。我已将此示例发布为gist。
如果要从xib创建视图,则必须使用正常NSBundle.mainBundle()
调用加载xib。
let errorView = NSBundle.mainBundle().loadNibNamed("ErrorView", owner: self, options: nil)[0] as ErrorView
而不是使用ErrorView(frame:)
此示例也是gist。