2010-08-18 5 views
0

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?

Répondre

0

Est-il possible que l'arrière-plan de tout soit noir et que la vue de table se déplace vers le bas pour exposer l'arrière-plan, par opposition au titreBar noir qui augmente réellement en taille? Cela a du sens étant donné que le problème disparaît lorsque la tableView revient en arrière.

+0

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