如何使中心和宽高比适合Swift 3中的图像?

时间:2017-02-17 05:35:19

标签: ios swift image programmatically

我在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)

2 个答案:

答案 0 :(得分:10)

你可以尝试一下

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

答案 1 :(得分: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)

试试这个