Frage

Ich kann leicht aktivieren und die TabBarItems in meiner App deaktivieren, die keine Werte oder Inhalt haben. Klappt wunderbar. Ich will alle Tabs halten, um zu zeigen, dass diese Funktion oder Inhalte auf anderen Ansichten in der gesamten App zur Verfügung, da diese spezielle Ansicht dynamisch mit Inhalten über 30times gefüllt ist.

Die TabBarController ist in meinem "DetailViewController" subclassed. Innerhalb dieser Klasse ich überprüfen, ob jeder Inhalt vorhanden ist und faul-geladen werden, den Inhalt von auf dem viewWillAppear Ereignisse vorbei (verhindert Laden nicht vorhandene Register Inhalte und Prüfung für Internet-Verbindungen etc.). Arbeitet schnell und gut.

Das Problem ist viel mehr ein Design optisch ein. Laden der Ansichten das erste Mal, das Aktivieren und Deaktivieren funktioniert, aber die Bilder sind nicht „ gedimmten “. die zweite Ansicht zu laden und durch das gleiche Verfahren gehen tut „ dim “ Behinderte Tabs ... was bin ich dabei?

War es hilfreich?

Lösung

Ich würde zweimal überlegen, bevor viewWillAppear auf self Aufruf als die Ergebnisse unvorhersehbar sein können.

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

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

... die Ausnahme auf Ihren Anruf zu sein [super viewWillAppear] aus dem gleichen genannten Verfahren.

Im Allgemeinen ist es am besten, das Abfeuern von Apples Rückrufen an Apple zu verlassen. Versuchen Sie, die Funktionalität Refactoring aus Sie in viewWillAppear haben und dann rufen Sie einfach, was Sie brauchen in viewDidLoad, viewWillAppear und viewDidAppear. Das Problem wird wahrscheinlich entstehen, wie Sie jedes Bit der Funktionalität auszubrechen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top