使用Swift扩展的UIView类

时间:2014-10-07 20:40:14

标签: xcode macos uiview swift uikit

我一直试图将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)

1 个答案:

答案 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,那么您将不会有一个难看的惊喜。