2009-07-25 4 views
0

J'ai un UITableViewController et je veux ajouter une barre de navigation. Donc, après la barre de navigation (qui fonctionne bien), une partie de la tableView d'origine est couverte par la barre de navigation.Comment repositionner UITableView?

J'ai essayé de repositionner la vue de la table en utilisant ceci:

self.tableView.frame = CGRectMake (0, 44 + 20/* hauteur de + navbar une certaine marge * /, 320, 416);

Mais la table ne sera pas positionnée.

+0

Quelle est la superview de votre 'UINavigationBar'? Est-ce votre vue de table, votre 'UIWindow', ou autre chose? –

Répondre

1

self.tableView.frame ne fonctionne pas pour moi non plus, il renvoie une erreur, mais

  1. Je mis la tableView dans IB
  2. créer un appelant dans le fichier h IBOUTLET UITableView *myTabli;
  3. connecter FileOwner et tableView > myTabli dans IB
  4. que je peux appeler myTabli.frame = CGRectframe(x,y,width,height); dans le m-File

travaille pour moi.

0

Vous pouvez définir la barre de navigation en vue d'en-tête de la vue du tableau comme celui-ci (si vous avez la barre de navigation dans une propriété appelée navBar):

self.tableView.tableHeaderView = self.navBar; 

Je devine que ce n'est pas ce que vous vouloir cependant (puisque la barre de navigation défilera lorsque vous faites défiler la table). Au lieu de cela, vous pouvez utiliser un contrôleur de vue normal & pour placer la barre de navigation & sur la vue de la vue (positionnée comme vous le souhaitez). Vous pouvez ajouter votre propre propriété tableView pour la vue de la table & rendre sa source de données & déléguer votre contrôleur de vue & tout ce que vous avez maintenant devrait fonctionner correctement.