Unsymmetrisch Aufrufe von begin/end-Optik übergänge

Ich bin momentan ziehen meine Haare aus der Lösung dieser bug :/ich habe schon versucht, die Lösungen aus anderen threads zu diesem Thema, hatte aber kein Glück so weit.

Hier was falsch läuft:
Ich habe einen UINavigationController, dass drückt die Ansicht Ein, aus der Sicht Einer ich kann eine Taste drücken, um die push-View B - funktioniert einwandfrei. Aber wenn ich push Ansicht B, dann drehen Sie den Bildschirm in landscape-Modus und klicken Sie dann auf den zurück-button, bekomme ich die folgende Ausgabe in der Konsole und das wechseln der Ansicht ist nicht animiert, nur Schalter aus B zurück auf A:

2012-01-02 20:50:42.866 [13345:f803] Unbalanced calls to begin/end appearance transitions for <DimensionConversionViewController: 0x68831f0>.
2012-01-02 20:50:42.868 [13345:f803] attempt to dismiss modal view controller whose view does not currently appear. self = <UINavigationController: 0x6b541a0> modalViewController = <UISnapshotModalViewController: 0x6da5190>

Dies ist, wie ich schieben Sie die Ansicht B in den stack ein:

- (void) showConverter:(id)sender {
    [self.navigationController pushViewController:converter animated:YES];
}

-viewDidLoad des Ansicht B:

- (void) viewDidLoad {
        [super viewDidLoad];
        //Do any additional setup after loading the view from its nib.
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateInterface) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
        //... Update text fields ...
        [self updateInterface];
 }

-viewDidUnload der Ansicht B:

- (void)viewDidUnload
{
    [super viewDidUnload];
    //Release any retained subviews of the main view.
    //e.g. self.myOutlet = nil;
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UIDeviceOrientationDidChangeNotification" object:nil];
}

Wenn Sie Fragen haben oder benötigen Sie weitere code-Beispiele, lassen Sie es mich bitte wissen.

Vielen Dank im Voraus für jede Hilfe 🙂

  • Überprüfen Sie Ihre viewWillAppear:animated:, viewDidAppear:animated:, viewWillDisappear:animated:, und viewDidDisappear:animated: Methoden.
  • Diese Methoden sind nicht implementiert in beiden VCs. Sollten diese Methoden implementiert werden, in der alle view-Controller, die kommen auf den Stapel gelegt?
  • Sie nicht haben, um Sie umzusetzen. Wenn Sie tun, Sie zu rufen super in Ihnen.
  • Schließlich löste das Problem, scheint dieses problem kann viele verschiedene Ursachen haben, aber vielen Dank für deine Hilfe!
Schreibe einen Kommentar