mon application utilise une barre d'onglets avec 2 vues basées sur la navigation dans laquelle j'ajoute une vue personnalisée (une barre de titre) entre la barre de navigation et la vue de la table.UITableView position
- (void)viewDidLoad {
[super viewDidLoad];
// load title bar controller
TitleBarViewController *tbar = [[TitleBarViewController alloc] init];
[tbar setTitleImage:[UIImage imageNamed:@"v2-une.png"]];
[self setTitleBar:tbar];
[tbar release];
// show title bar
[self.navigationController.view addSubview:self.titleBar.view];
....
Lorsque l'application est lancée par un défaut sélectionné nav vue, j'utiliser (void) viewDidAppearBOOL) animée pour définir l'affichage de la table à une valeur Y inférieure de sorte que la barre de titre est visible.
Où Y = 20: 20 est la hauteur de ma barre de titre.
self.tableView.frame = CGRectMake(0, 20, 320, 347);
Le problème est que lorsque je sélectionne une ligne et appuyez sur une vue détaillée et masquer la barre du bas pour afficher une barre d'outils, les choses sont foiré. La hauteur de ma barre de titre augmente et devient> 20 ce que je ne peux pas expliquer pourquoi.
Maintenant, quand je retourne à la vue de la table principale, son Y est diminué de 20 et collé à la barre de navigation. Mon titre ben apparaît alors au-dessus de la première cellule du tableau.
Si vous appuyez sur l'onglet 2, puis revenez au 1er onglet, tout est arrangé comme prévu.
voici quelques photos pour illustrer tout ce que: link text
quelqu'un peut me aider à comprendre pourquoi est-ce qui se passe s'il vous plaît? peut-être que je mets mon code de positionnement dans le mauvais événement?
Merci d'avoir pris le temps de répondre. Cela se passe réellement. Il est poussé vers le bas pour une raison étrange, bien que je mets un cadre correct pour remplir l'ensemble de la vue. Mais de toute façon j'ai fini par utiliser une vue de conteneur pour la barre de titre et la vue de table, et ai créé la vue de table manuellement sans employer UITableViewController. J'avais plus de contrôle sur ça de cette façon. – HBR