2017-07-28 4 views
0

Ich möchte die ContentMode der UIImageView überschreiben, also habe ich diesen Code geschrieben, aber es scheint nicht zu funktionieren, wie erwartet.Überschreiben der Klasse Eigenschaft swift

class AspectFitUIImageView: UIImageView { 

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

     set { 
      // contentMode = contentMode 
     } 
    } 
} 

Kann mir jemand sagen, wo ich falsch liege?

Antwort

0

Sie sollten die contentMode in awakeFromNib() festgelegt wie folgt:

class AspectFitUIImageView: UIImageView { 

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

} 

Oder wenn Sie nicht mit einem Nib oder Storyboard planen, können Sie Folgendes verwenden:

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

ich kann Überschreiben Sie nicht direkt die Eigenschaften? –

Verwandte Themen