2010-12-01 4 views
3

J'ai remarqué qu'un certain nombre d'applications ont une image d'arrière-plan personnalisée pour UITableView (ou ont défini l'arrière-plan sur une couleur.)Comment définir l'arrière-plan UITableView à l'image?

Je ne trouve aucune API dans la classe UITableView pour affecter ceci, et mon les tentatives de création d'interface ont échoué (en essayant de définir la couleur de l'UIView)

Des suggestions? J'ai vu une application tierce avec des photos, alors je sais que cela peut être fait.

Répondre

2

ajouter cette ligne dans votre code où vous voulez définir la couleur d'arrière-plan pour votre image

[YourView (ou imageView) setBackgroundColor: [UIColor groupTableViewBackgroundColor]];

Merci

2
UIImageView *image = [[UIImageView alloc] initWithImage: 
            [UIImage imagenamed:@"no_image.png"]]; 
[self.view addSubview:image]; 
UITableView *tableview = [[UITableView alloc] init]; 
[image addSubview:tableview]; 
tableview.backgroundcolor = [UIColor clearColor]; 
0

Définissez la propriété backgroundView de la tableView. Vous pouvez le définir sur une vue dans laquelle vous avez défini un backgroundColor personnalisé, ou vous pouvez le définir sur un UIImageView dans lequel vous avez défini une image.

0

solution alternative de GhostRider Aucun codage

Marque UIImageView par le constructeur d'interface, mettre votre image en ressources. définissez-le dans la propriété UIImageView Image à l'aide de l'inspecteur. sélectionnez l'affichage de la table et définissez la couleur d'arrière-plan pour effacer (pour cette opération opacité à 0 en utilisant l'inspecteur d'attributs).

2

essayer. ça marche pour moi.

CALayer *background = [CALayer layer]; 
background.zPosition = -1; 
background.frame = self.view.frame; 
background.contents = [[UIImage imageNamed:@"background.jpg"] CGImage]; 
[tableView.layer addSublayer:background]; 
1

vous devez ajouter une vue d'image et définir la couleur d'arrière-plan de table pour effacer la couleur voir this link for tutoria l

15

Je viens de rencontrer moi-même dans la même question, mais je trouve un moyen de le faire que TomSwift touché sur. Comme il l'a mentionné, UITableView a une propriété backgroundView qui est destinée à faire exactement ce que vous cherchez. Si vous voulez définir la couleur d'arrière-plan, vous devez plutôt utiliser la propriété backgroundColor, comme d'autres l'ont dit. Alors:

// Set an image as the background of a UITableView called 'tableView' 
UIImageView *bg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MyImage.png"]]; 
[tableView setBackgroundView:bg]; 

ou:

// Set a solid color as the background of a UITableView called 'tableView' 
// In this case I chose red 
[tableView setBackgroundColor:[UIColor redColor]]; 
0

Voilà comment je l'ai fait. Probablement pas le meilleur moyen, mais fonctionne assez bien.

UIImage *bg = [UIImage imageNamed:@"bg"]; 
[bg drawInRect:self.view.window.frame]; 
UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.view.window.frame]; 
bgView.image = bg; 

activityTable.backgroundView = bgView; //activityTable = UITableView 
Questions connexes