2010-09-24 7 views
1

Je suis en train de développer une application iPhone. J'utilise une sous-classe UITable UITableViewController. J'ai ajouté un NavigationBar à la vue: UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 48.0f)];[self.tableView addSubview:navBar];, maintenant le problème est que la barre de navigation défile vers le bas avec la table et c'est ce que je veux éviter. Est-il possible de l'éviter en utilisant le UITableViewController?NavigationBar ne doit pas faire défiler avec UITable

+0

Pouvez-vous donner plus de détails ... quelle est la structure du xib? ou quel est le superview, le type viewcontroller du fichier? – kthorat

+0

Je n'ai rien fait avec le fichier xib, c'est simplement une classe qui sous-classe UITableViewController et dans viewDidLoad j'ajoute un navigateurBar mais il défile avec la table – PiccoloBuddha

Répondre

3

Vous dites

J'utilise un sous-classement uitable UITableViewController

Je suppose que vous utilisez un UITableViewController qui sous-classé, naturellement, est titulaire d'un UITableView. Votre problème est dû au fait que vous avez inséré le NavigationBar dans UITableView, ou plus précisément dans UIScrollView qui fait partie de TableView. En fonction de vos besoins, vous avez deux options:

  1. Si vous souhaitez que votre application se comporte par ex. Mail (afin que votre TableView soit juste un élément dans une structure de vues, à travers lequel vous pouvez creuser), vous devriez un UINavigationcontroller et faire de votre TableViewController la première vue de NavigationController, comme lorsque vous ouvrez le "Navigation based" -Template dans Xcode . Le UINavigationcontroller contiendra déjà un UINavigationBar, il n'y a donc pas grand chose à craindre.
  2. Si, pour une raison quelconque, ce n'est pas ce que vous voulez, vous devrez créer un UIView qui contient votre UINavigationBar ainsi que l'UITableView. Etant donné que l'exécution d'une telle configuration avec un UITableViewController est plutôt difficile, vous pouvez abandonner votre TableViewController et le remplacer par un simple ViewController, qui implémente à la fois les fonctions "UITableViewDelegate" et "UITableViewDataSource" -Delegate. Voir this post pour plus d'aide.
+0

Merci, je choisis la 2ème option, je lis le lien que vous postez mais maintenant j'ai un nouveau question parce que j'ai toujours utilisé UItable avec UITableViewController: J'ai ajouté un UITable sur le fichier xib, je l'ai câblé avec l'IBOutlet sur le fichier .h, j'ai ajouté UIViewController sur le fichier .h, à la fin j'ai implémenté les méthodes pour gérer la table (numberOfRowsInSection: ou - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath) comme d'habitude avec le Controller UITableView mais les données ne sont pas chargées! – PiccoloBuddha

+0

Juste résolu! Je dois seulement lier le délégué et la source de données au propriétaire du fichier! Merci de votre aide!! – PiccoloBuddha

+0

De rien. Veuillez marquer ma réponse comme acceptée alors. – Phlibbo

Questions connexes