2017-02-17 2 views
3

У меня есть проект в Swift 3, что я использую градиент на представлении. Я поместил изображение в представление, но оно находится под слоем градиента, поэтому я собирался рисовать изображение программно, а не с помощью раскадровки. Похоже, я не могу понять, как получить изображение в центре и в аспект, подходящий к границам представления.Как центр и аспект подходят для изображения в Swift 3?

То, что я ...

//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

Возможный дубликат [Set contentMode из UIImageView] (HTTP://stackoverflow.com/questions/24109114/set-contentmode-of-uiimageview) –

+0

Пожалуйста, прикрепите оба изображения, что ожидается от u..and, что вы ge tting в настоящее время. –

ответ

6

Вы можете попробовать это

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

Я пробовал это, но он ничего не менял. –

+0

Вы можете придать кадру основному изображению в виде mainImage.frame = CGRect (x:, y:, width:, height:) – Ram

+0

set x, y высота и ширина, как вы хотите – 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) 

Попробуйте один

Смежные вопросы