我一直试图将UIView子类化,并使用https://stackoverflow.com/a/24036440/3324388的帮助来处理' init(编码器)'问题
然而,即使是最基本的尝试,我仍然遇到障碍,我希望有人可以发布一个简单的示例,说明使用Swift子类化UIView所需的实际代码。
我目前的代码是
//image class
import UIKit
class childView: UIView {
var image:UIImage!
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
我不想传递这个NSCoder对象(我不知道它做了什么,这让我的代码变得混乱)。你能发布一个如何干净地子类化UIView的例子,然后你将如何在另一个类中初始化它?
我真的很喜欢扩展我的UIView类,以获得一些很酷的效果,如阴影,自动缩放和许多其他商品,而无需创建子视图来处理所有这些(如UIScrollViews中的UIImageViews)
答案 0 :(得分:9)
似乎很简单。只需遵循代码完成。
class MyView : UIView {
var image = UIImage()
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
}
var v = MyView()
我正在初始化一个虚拟UIImage
,因此如果您使用未展开的版本nil
,那么您将不会有一个难看的惊喜。