Question

Je peux facilement activer et désactiver le TabBarItems dans mon application qui ont aucune valeur ou contenu. Fonctionne comme un charme. Je ne veux garder tous les onglets afin de montrer que cette fonctionnalité ou le contenu seront disponibles sur d'autres vues à travers l'application, car ce point de vue spécial est dynamique rempli de contenu sur 30times.

Le TabBarController est sous-classée dans mon "DetailViewController". Au sein de cette classe, je fais vérifier si tout contenu existe et paresseux-charger le contenu en passant sur l'événement viewWillAppear (empêchant le contenu de l'onglet chargement non existant et la vérification des connexions Internet, etc.). Fonctionne rapide et bon.

Le problème est beaucoup plus une conception d'un optique. Chargement des vues la première fois activation et la désactivation des œuvres, mais les images ne sont pas « tamisé ». Chargement du second point de vue et passer par la même procédure fait « dim » les onglets handicapés ... ce que je manque?

Était-ce utile?

La solution

Je pense deux fois avant d'appeler viewWillAppear sur self que les résultats peuvent être imprévisibles.

// BAD IDEA
- (void)viewDidLoad {
    ...
    [self viewWillAppear];
    ...
}

// OK
- (void)viewWillAppear {
    ...
    [super viewWillAppear];
    ...
}

... l'exception de votre appel à [super viewWillAppear] à partir de la méthode du même nom.

En général, il est préférable de laisser la mise à feu des callbacks d'Apple à Apple. Essayez refactoring la fonctionnalité que vous avez dans viewWillAppear puis appelez exactement ce dont vous avez besoin viewDidLoad, viewWillAppear et viewDidAppear. Le problème est d'émerger probablement que vous cassez chaque bit de fonctionnalité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top