2016-11-12 47 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