[iphone] Image d'arrière-plan UITableView



Answers

Je pense que cette approche plus propre:

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

J'essaie de configurer une image png comme arrière-plan de ma table. 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 reste blanc (ou clair). Avez-vous quelque chose de quelque chose à propos de la façon dont j'ai essayé de définir la couleur de fond. J'ai essayé de nombreuses façons jusqu'à ce qui suit, 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!




La version rapide simple sera

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



Une sous-classe IBDesignable tableview qui vous permettra d'attacher une image à partir du constructeur de l'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
            }
        }
    }

}



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

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






Links