2017-02-17 1 views
3

Ich habe ein Projekt in Swift 3, dass ich einen Gradienten auf der Ansicht verwende. Ich habe ein Bild auf die Ansicht platziert, aber es befindet sich unter der Verlaufsebene, sodass ich das Bild programmatisch statt mit dem Storyboard zeichnen wollte. Ich kann nicht herausfinden, wie man das Bild zentriert und in den Blickwinkel des Bildes bringt.Wie zentriere ich und aspect passen ein Bild in Swift 3?

Was ich habe, ...

//Gradient Background 
    let gradientLayer = CAGradientLayer() 
    gradientLayer.frame = self.view.frame 
    gradientLayer.colors = [UIColor(red: 0/255, green: 147/255, blue: 255/255, alpha: 1.0).cgColor, UIColor(red: 162/255, green: 134/255, blue: 255/255, alpha: 1.0).cgColor] 
    gradientLayer.locations = [0.0, 1.0] 
    gradientLayer.startPoint = CGPoint(x: 0.0, y: 1.0) 
    gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.0) 
    self.view.layer.addSublayer(gradientLayer) 

    //Image 
    let mainImage = UIImage(named:"WhiteLogoFront") 
    var mainImageView = UIImageView(image:mainImage) 
    self.view.addSubview(mainImageView) 
+0

Mögliche Duplikat [Set contentMode von UIImageView] (http://stackoverflow.com/questions/24109114/set-contentmode-of-uiimageview) –

+0

Bitte beifügen beide Bilder was von euch erwartet wird..und was du bist tting derzeit. –

Antwort

6

können Sie versuchen, es

let mainImage = UIImage(named:"WhiteLogoFront") 
    var mainImageView = UIImageView(image:mainImage) 
    mainImageView.contentMode = .ScaleAspectFit 
+0

Ich habe das versucht, aber es schien nichts zu ändern. –

+0

können Sie den Rahmen der Hauptbildansicht als mainImage.frame = CGRect geben (x:, y:, width:, height:) – Ram

+0

x, y Höhe und Breite einstellen, wie Sie wollen – Ram

2
let gradientLayer = CAGradientLayer() 
    gradientLayer.frame = self.view.frame 
    gradientLayer.colors = [UIColor(red: 0/255, green: 147/255, blue: 255/255, alpha: 1.0).cgColor, UIColor(red: 162/255, green: 134/255, blue: 255/255, alpha: 1.0).cgColor] 
    gradientLayer.locations = [0.0, 1.0] 
    gradientLayer.startPoint = CGPoint(x: 0.0, y: 1.0) 
    gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.0) 
    self.view.layer.addSublayer(gradientLayer) 

    //Image 
    let mainImage = UIImage(named:"WhiteLogoFront") 
    var mainImageView = UIImageView(image:mainImage) 
    mainImageView.center = self.view.cente 
    mainImageView.contentMode = .ScaleAspectFit 
    self.view.addSubview(mainImageView) 

Versuchen Sie dieses

Verwandte Themen