2010-07-20 3 views
2

J'ai implémenté une galerie d'images Three20 dans mon application. Je veux changer la couleur de la barre de navigation en haut de l'écran Galerie d'images. Je suis entré dans TTThumbsViewController.m et trouvé les lignes qui lisent:Modification de trois20 navigationBarTintColor provoque l'écart au sommet de la galerie d'images ThumbView

self.statusBarStyle = UIStatusBarStyleDefault; 
self.navigationBarStyle = UIBarStyleDefault; 

Si je change ces valeurs, la couleur/style des changements barre de navigation, mais un écart apparaît entre la barre de navigation et la première rangée de images. L'écart semble avoir une hauteur supérieure à celle de la barre de navigation mais plus courte que la première rangée de vignettes.

J'ai implémenté une feuille de style Three20 mais cela n'a pas résolu le problème.

Répondre

3

Dans mon App, dans le fichier où je me sers TTThumbsViewController, j'ai ajouté cette méthode pour le fichier .m et résolu le problème de l'écart:

- (void) updateTableLayout { 
self.tableView.contentInset = UIEdgeInsetsMake(5, 0, 0, 0); 
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(TTBarsHeight(), 0, 0, 0); 
} 

Je suis maintenant en mesure de changer la couleur de barre de navigation pour tout ce que je souhaite et l'espacement entre la barre de navigation et la table est correct.

+0

Salut Chris, j'ai presque sauté de mon siège quand j'ai vu votre solution car j'ai le même problème. Malheureusement, votre solution ne fonctionne pas. Des idées? J'ai essayé d'appeler cette méthode sur viewDidAppear et cela n'a fait aucune différence. – qui

+0

Je n'avais pas besoin d'appeler cette méthode ou de faire autre chose que d'ajouter simplement la méthode à mon fichier .m. Je l'ai ajouté au fichier .m que j'ai créé dans mon application, pas le fichier .m qui est contenu dans le cadre Three20 lui-même. Je n'ai pas le code avec moi en ce moment, donc je travaille de mémoire. Je vais vérifier ce soir, mais je ne pense pas avoir fait autre chose pour que cela fonctionne. Il pourrait y avoir une différence entre la façon dont vous implémentez TTThumbsViewController et cela pourrait faire la différence? Voici un lien vers le tutoriel que j'ai utilisé à l'origine (ceci n'inclut pas le gap-fix) http://bit.ly/bbAANX – Chris

0

Comme qui a parlé il y a quelque temps, j'ai eu le même problème. Dans mon cas, j'ai créé une catégorie pour le TTThumbsViewController du Three20 et quand j'ai essayé de surcharger la méthode updateTableLayout rien ne s'est passé, donc j'ai essayé de mettre le même code dans une autre méthode - le viewWillAppear - et cela a fonctionné.

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    self.tableView.contentInset = UIEdgeInsetsMake(5, 0, 0, 0); 
    self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(TTBarsHeight(), 0, 0, 0); 
} 

Je l'enregistre ici juste au cas où aider les autres. Et merci Chris par ta réponse initiale.

Questions connexes