快速覆盖班级的财产

时间:2017-07-28 05:40:05

标签: swift uiimageview uiviewcontentmode

我想覆盖 UIImageView ContentMode ,所以我编写了这段代码,但它似乎没有按预期工作。

class AspectFitUIImageView: UIImageView {

    override var contentMode: UIViewContentMode {
        get {
            return .scaleAspectFit
        }

        set {
            // contentMode = contentMode
        }
    }
}

任何人都可以告诉我哪里错了吗?

1 个答案:

答案 0 :(得分:0)

你应该在awakeFromNib()中设置contentMode,如下所示:

class AspectFitUIImageView: UIImageView {

    override func awakeFromNib() {
       super.awakeFromNib()
       contentMode = .scaleAspectFit
    }

}

或者,如果您不打算使用Nib或Storyboard,则可以使用以下内容:

override init(frame: CGRect) {
    super.init(frame: frame)
    contentMode = .scaleAspectFit
}