ios - tienen - propiedad alt imagen
Imagen de fondo que no se carga en el dispositivo (1)
Tengo este código que coloca la imagen en segundo plano y aplica un efecto de desenfoque:
let effect = UIBlurEffect(style: .Dark)
override func viewDidLoad() {
let backgroundView = UIView(frame: view.bounds)
backgroundView.autoresizingMask = resizingMask
backgroundView.addSubview(self.buildImageView())
backgroundView.addSubview(self.buildBlurView())
tableView.backgroundColor = UIColor.clearColor()
tableView.backgroundView = backgroundView
tableView.separatorEffect = UIVibrancyEffect(forBlurEffect: effect)
}
func buildImageView() -> UIImageView {
let imageView = UIImageView(image: UIImage(named: "pexels-photo"))
imageView.frame = view.bounds
imageView.autoresizingMask = resizingMask
return imageView
}
func buildBlurView() -> UIVisualEffectView {
let blurView = UIVisualEffectView(effect: effect)
blurView.frame = view.bounds
blurView.autoresizingMask = resizingMask
return blurView
}
Cuando ejecuto esto en el simulador, carga bien. Pero cuando lo pruebo en un iPhone 6 simplemente carga un fondo negro.
Cualquier ayuda sobre cómo resolver este problema sería apreciada.
Pruebe a continuación el código probado en Xcode 8 funcionó. Código probado como UIView ..
**Answer 1:** From your code
// Change bLurView Style to .dark or .extraLight If you want
let effect = UIBlurEffect(style: .light)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let backgroundView = UIView(frame: view.bounds)
// backgroundView.autoresizingMask = resizingMask
view.addSubview(self.buildImageView())
view.addSubview(self.buildBlurView())
/////Code tested in UIView not in tableView.It won''t do any difference just let you know///////
tableView.backgroundColor = UIColor.clearColor()
// tableView.backgroundView = backgroundView
tableView.separatorEffect = UIVibrancyEffect(forBlurEffect: effect)
/////////////////////////////////////////////////////////////////////
}
func buildImageView() -> UIImageView {
let imageView = UIImageView(image: UIImage(named: "pexels-photo"))
imageView.frame = view.bounds
// imageView.autoresizingMask = resizingMask
return imageView
}
func buildBlurView() -> UIVisualEffectView {
let blurView = UIVisualEffectView(effect: effect)
blurView.frame = view.bounds
// blurView.autoresizingMask = resizingMask
return blurView
}
Respuesta 2:
override func viewDidLoad() {
super.viewDidLoad()
// Add a background view to the table view
let backgroundImage = UIImage(named: "your image file")
let imageView = UIImageView(image: backgroundImage)
self.tableView.backgroundView = imageView
imageView.contentMode = .ScaleAspectFit
// no lines where there aren''t cells
tableView.tableFooterView = UIView(frame: CGRectZero)
//set background colour to light color or clear color to get a transparent look
tableView.backgroundColor = .lightGrayColor()
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = imageView.bounds
imageView.addSubview(blurView)
}
If we want to make the table view cells totally transparent you can just set their background color to clear:
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.backgroundColor = UIColor(white: 1, alpha: 0.5) // UIcolor.clear
}
salida del código anterior como a continuación ....