Image d’arrière-plan UITableView

J’essaie de configurer une image png comme arrière-plan de ma tableview. Avec le code suivant, tout va bien! Mais seulement sur iPhone Simulator. Si j’essaie d’exécuter l’application sur un appareil iPhone, l’arrière-plan de tableview rest blanc (ou effacé). Avez-vous quelque chose qui est quelque chose dans la façon dont j’ai essayé de définir la couleur de fond. J’ai essayé de nombreuses manières jusqu’à la suivante, mais tous ont le même problème.

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

Merci d’avance!

    Veuillez utiliser le code suivant.

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

    Merci,

    Je pense que cette approche plus propre:

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

    Votre image est-elle réellement nommée TableViewBackground.PNG (notez les majuscules)? Vous devez faire correspondre la casse exactement sur un appareil iOS, alors qu’il n’a pas besoin de correspondre exactement dans le simulateur.

    Version rapide simple sera

     let tempImageView = UIImageView(image: UIImage(named: "yourImage")) tempImageView.frame = self.tableView.frame self.tableView.backgroundView = tempImageView; 
      UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]]; [tempImageView setFrame:self.tableView.frame]; self.tableView.backgroundView = tempImageView; [tempImageView release]; 

    Cela fonctionne parfaitement. Merci à Ravin by Jona

    Une sous-classe de vue de table IBDesignable qui vous permettra de joindre une image à partir du générateur d’interface

     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 } } } } 
     [TableView setBackgroundView:nil]; [TableView setBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"apple.png"]] ]; 

    Cela fonctionne parfaitement, même si vous souhaitez utiliser une image de motif pour votre arrière-plan.

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

    Un peu tard mais peut-être pour tous les autres qui cherchent une solution. Je pourrais obtenir ce travail en utilisant le code suivant dans la méthode viewDidLoad du UITableViewController :

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

    ou avec juste une couleur de fond:

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

    Cela m’a pris du temps pour comprendre cela, mais maintenant ça marche comme un charme.

    Version objective-c:

     cell.backgroundColor = [UIColor clearColor]; 

    Voir aussi ceci: Comment créer un UITableViewCell avec un arrière-plan transparent

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