90 votes

UITableView + Ajouter un contenu décalé en haut

J'ai besoin d'ajouter un espace vide en haut de mon UITableView qui n'affecte pas la taille de la zone de contenu. Décaler le contenu ou ajouter une cellule vide N’EST PAS ce que je veux faire. Au lieu de cela, je veux juste un décalage.

Une idée?

292voto

Jigzat Points 889

Je ne sais pas si je vous suis, mais je pense avoir le même problème. Dans mon cas, je dois laisser un peu d’espace à ADBannerView en haut de l’écran, c’est pourquoi j’ai utilisé la méthode viewDidLoad que j’ai ajoutée:

 [self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];
 

les valeurs qu'il prend sont UIEdgeInsetsMake (en haut, à gauche, en bas, à droite).

5voto

scottbates22 Points 283

Vous pouvez ajouter un "vide" vue d'en-tête de la table... ce serait lui donner l'apparence initiale de la table pour avoir un décalage, mais une fois que vous avez commencé à défilement le décalage aurait disparu. Pas sûr que ce que vous voulez.

Si vous avez besoin d'un décalage permanent et ne sont pas déjà en utilisant des en-têtes de section, vous pouvez créer le décalage de la même manière ci-dessus, par prise de vues personnalisées pour les en-têtes de section, surtout si vous avez juste une section, ce qui pourrait vous donner l'apparence d'un décalage permanent.

Je peux poster un exemple de code si cela ressemble à l'un de ces sont ce que vous cherchez.

4voto

richy Points 690

J'ai combiné la réponse de Jigzat avec:

 [self.tableView scrollRectToVisible:CGRectMake(0, 0, 320, 1) animated:NO];
 

dans

 - (void)viewDidLoad
 

La première cellule n'est donc pas au sommet.

2voto

willcodejavaforfood Points 20365

On dirait que vous voulez enchaîner une 'Vue' autour de votre UITableView. Si vous avez un UITableViewController de l'IB l' UITableView sera automatiquement mis à l' view de UITableViewController. Vous changez view de la propriété à la normale UIView et ajouter votre UITableView - y et donnez-lui un décalage.

---Edit--- Je viens de lire mon post et de la pensée, il n'a guère de sens :) Lorsque vous créez un UITableViewController vous obtenez ceci (en pseudo-code):

UITableViewController.view = UITableView

Cela signifie que la table va prendre toute la place et que vous ne pouvez même ajouter d'autres points de vue. Si vous avez besoin de changer la

UITableViewController.view = UIView

et d'ajouter votre table pour qu' UIView

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X