iphone uitableview background background-color

iphone - Imagen de fondo de UITableView



background background-color (11)

Estoy tratando de configurar una imagen png como fondo de mi mesa de trabajo. Con el siguiente código, ¡todo está bien! Pero solo en iPhone Simulator. Si intento ejecutar la aplicación en un dispositivo iPhone, el fondo de la vista de tabla permanece en blanco (o claro). ¿Tiene algo que ver con la forma en que traté de establecer el color de fondo? Lo he intentado de muchas maneras hasta el siguiente, pero todos tienen el mismo problema.

self.tableView.backgroundColor = [UIColor clearColor]; self.tableView.opaque = NO; self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]];

¡Gracias de antemano!


¿Su imagen se llama realmente TableViewBackground.PNG (tenga en cuenta las mayúsculas)? Debe tener la coincidencia de mayúsculas y minúsculas exactamente en un dispositivo iOS, mientras que no es necesario que coincida exactamente en el simulador.


Creo que este enfoque es más limpio:

UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"TableBackground.jpg"]]; self.tableView.backgroundColor = background; [background release];


Esto funciona perfectamente bien, también si desea utilizar una imagen de patrón para su fondo.

UIImage *image = [UIImage imageNamed:@"something.png"]; self.tableView.backgroundView = nil; self.view.backgroundColor = [UIColor colorWithPatternImage:image];


La versión simple rápida será

let tempImageView = UIImageView(image: UIImage(named: "yourImage")) tempImageView.frame = self.tableView.frame self.tableView.backgroundView = tempImageView;


Por favor usa el siguiente código

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]]; [tempImageView setFrame:self.tableView.frame]; self.tableView.backgroundView = tempImageView; [tempImageView release];

Gracias,


Un poco tarde, pero tal vez para todos los demás que buscan una solución. Podría obtener ese trabajo utilizando el siguiente código en el método viewDidLoad del UITableViewController :

self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]; self.tableView.backgroundColor = [UIColor clearColor];

o con solo usar un color de fondo:

self.parentViewController.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor]; self.tableView.backgroundColor = [UIColor clearColor];

Me tomó un tiempo darme cuenta de eso, pero ahora funciona como un encanto.


Una subclase de tabla vista IBDesignable que le permitirá adjuntar una imagen desde el constructor de interfaz

import UIKit @IBDesignable class DesignableTableView: UITableView { @IBInspectable var backgroundImage: UIImage? { didSet { if let image = backgroundImage { let backgroundImage = UIImageView(image: image) backgroundImage.contentMode = UIViewContentMode.ScaleToFill backgroundImage.clipsToBounds = false self.backgroundView = backgroundImage } } } }



UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]]; [tempImageView setFrame:self.tableView.frame]; self.tableView.backgroundView = tempImageView; [tempImageView release];

Esto funciona perfecto Gracias a Ravin por Jona


UIImageView *imageviewTemp = [[UIImageView alloc] init]; [(UIImageView *)imageviewTemp sd_setImageWithURL:[NSURL URLWithString:self.stringOfPassedImage]]; [imageviewTemp setFrame:self.tableView.frame]; self.tableView.backgroundView = imageviewTemp;


[TableView setBackgroundView:nil]; [TableView setBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"apple.png"]] ];