【发布时间】:2016-06-07 06:43:46
【问题描述】:
我不能完全理解我做错了什么。我尝试删除 optional(?) 但没有结果。
这是我的自定义视图的总代码:-
class CustomView: UIView {
var vieww: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
func loadViewFromib () -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!, bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil).first as! UIView
return view
}
func setupView() {
vieww = loadViewFromib()
vieww.frame = CGRectMake(0, 0, 300, 150)
vieww.center = center
addSubview(vieww)
/// Adds a shadow to our view
vieww.layer.cornerRadius = 4.0
vieww.layer.shadowColor = UIColor.blackColor().CGColor
vieww.layer.shadowOpacity = 0.2
vieww.layer.shadowRadius = 4.0
vieww.layer.shadowOffset = CGSizeMake(0.0, 8.0)
}
我是 swift 新手,不知道该怎么做。请帮帮我。
提前致谢。
【问题讨论】:
-
您需要通过包含 ? 将您的子类
init方法标记为失败因为超类初始化器是失败的。 -
@Paulw11 您能否通过发布一些代码来详细说明。我对 swift 很陌生。
-
@Paulw11 正如您在我的问题中提供的第一张图片中看到的那样,我做了同样的事情,但仍然出现错误!
-
是的,抱歉,您的问题令人困惑。您应该发布代码而不是图像。该异常的最常见原因是某些东西为零。你是如何创建这个视图对象的? NSCoder 是从哪里来的?
-
@Paulw11 我已经发布了我的完整代码。你能帮我找出解决办法吗?