2016-11-12 77 views
0

我需要在swift 3应用程序中将图像作为背景。我用这个设置背景:调整UIImage的大小以适合设备宽度

self.view.backgroundColor = UIColor(patternImage: UIImage(named: "bg_sunrise")!) 

有没有一种方法可以确保图像符合当前设备宽度并且不会升级?

回答

0

这取决于你真正想要什么。

  • 如果您需要“方面适合”,您需要将图像放入UIImageView中,如提供的emresancaktar。与此相关的问题 - 以及您使用视图的backgroundColor,您建议这 - 是你想把顶上所述的UIImageView。这是复杂的事情。

  • 如果你只需要扩展到视图尺寸完全不考虑“方面配合”,你可以用它的层:

    view.layer.contents = UIImage(named: "bg_sunrise")?.cgImage 
    
  • 最后,如果你喜欢使用视图的层,但确实需要“方面适合”,您需要使用CGImage上下文,在进行一些计算后可能使用UIImage.drawInRect()方法。快速搜索“CALayer绘制图像方面适合”产生了这个gist。这有点旧,但那里有一个Swift版本。你可以拼凑你需要返回的CALayer而不是UIImage。

0

这个小片段将解决您的问题。有一个很好的编码。

var imageView : UIImageView 
imageView = UIImageView(frame:CGRectMake(0, 0, 100, 70)) 
imageView.contentMode = .ScaleAspectFit