Ответ 1
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}
Как я могу установить фоновое изображение для моего основного контроллера представления в Xcode 6, используя swift? Я знаю, что вы можете сделать это в помощнике редактора, как показано ниже:
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.yellowColor()
}
Что такое код для установки фона для изображения, которое я имею в моей папке активов?
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}
Я начинаю разработку iOS, поэтому хочу поделиться всей информацией, которую я получил в этом разделе.
Сначала из объектов изображения (images.xcassets) создайте набор изображений.
В соответствии с Documentation здесь все размеры должны создавать фоновое изображение.
For iPhone 5:
640 x 1136
For iPhone 6:
750 x 1334 (@2x) for portrait
1334 x 750 (@2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (@3x) for portrait
2208 x 1242 (@3x) for landscape
iPhone 4s (@2x)
640 x 960
iPad and iPad mini (@2x)
1536 x 2048 (portrait)
2048 x 1536 (landscape)
iPad 2 and iPad mini (@1x)
768 x 1024 (portrait)
1024 x 768 (landscape)
iPad Pro (@2x)
2048 x 2732 (portrait)
2732 x 2048 (landscape)
вызов изображения фона, мы можем вызвать изображение из объектов изображения с помощью этого метода UIImage(named: "background")
здесь приведен полный пример кода
override func viewDidLoad() {
super.viewDidLoad()
assignbackground()
// Do any additional setup after loading the view.
}
func assignbackground(){
let background = UIImage(named: "background")
var imageView : UIImageView!
imageView = UIImageView(frame: view.bounds)
imageView.contentMode = UIViewContentMode.ScaleAspectFill
imageView.clipsToBounds = true
imageView.image = background
imageView.center = view.center
view.addSubview(imageView)
self.view.sendSubviewToBack(imageView)
}
override func viewDidLoad() {
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg_image")
backgroundImage.contentMode = UIViewContentMode.scaleAspectfill
self.view.insertSubview(backgroundImage, at: 0)
}
Вы также можете попробовать это, что на самом деле представляет собой комбинацию предыдущих ответов с других плакатов здесь:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "RubberMat")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
SWIFT 4
view.layer.contents = #imageLiteral(resourceName: "webbg").cgImage
Для Swift 4
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg_name.png")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
Фоновое изображение из API в Swift 4 (с Kingfisher):
import UIKit
import Kingfisher
extension UIView {
func addBackgroundImage(imgUrl: String, placeHolder: String){
let backgroundImage = UIImageView(frame: self.bounds)
backgroundImage.kf.setImage(with: URL(string: imgUrl), placeholder: UIImage(named: placeHolder))
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.insertSubview(backgroundImage, at: 0)
}
}
Использование:
someview.addBackgroundImage(imgUrl: "yourImgUrl", placeHolder: "placeHolderName")
В Swift 4.2 и Xcode 10
import UIKit
class SharedClass: NSObject {
//Shared class instance
static let sharedInstance = SharedClass()
//Add background image for view's
func backgroundImage(view: UIView) {
let imageView = UIImageView(image: UIImage(named: "iphonebackground")!)//Your image name here
imageView.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height)
view.insertSubview(imageView, at: 0)//To set first of all views in VC
}
private override init() {
}
}
Теперь вызовите эту функцию в ваших контроллерах вида, как это
SharedClass.sharedInstance.backgroundImage(view: self.view)//This is your view