2016-04-07 7 views
2

Ich benutze jetzt den Tabbar-Controller und die Uinvigation Controller, wenn ich den MFMailComposeViewController von Presentviewcontroller, und entlassen von entlassen viewcontrolerated, ich wische zurück und klicken Sie auf den viewcontroller wieder ich fand die Rückseite Die Schaltfläche verschwindet und der Titel ist falsch.UINavigationController verhalten sich falsch nach Dimiss dargestellt viewcontroller IOS

Registerkarte-> ViewController [A] (Navigation Controller Embed) - (PUSH) -> ViewController [B] (mit Zurück-Taste) - (Present) -> MFMailComposeViewController - (Dismiss) -> Show ViewController [B] - (Swipe Back) -> ViewController [A] - (Push) -> ViewController [B] (Zurück-Taste ist verschwunden und der Titel ist falsch)

Auch ich drücke zurück statt zurück wischen, fand ich, dass es immer noch einige probleme nicht wie gewohnt navigation push controller

Vielen dank, wenn jemand helfen könnte!


Nach all diesen Viewcontroller [B] Pop/Swipe zurück zu Viewcontroller [A] ViewDidAppear und ViewWillAppear Funktion in Viewcontroller [A] wird nicht ausgelöst.

+0

Um bessere Antworten zu erhalten, sollten Sie als tatsächlichen Code enthalten. Idealerweise so viel relevanter Code wie möglich, aber zumindest der Code, der sich direkt auf das Problem bezieht. – jskrwyk

+0

ich konfrontiert dieses Problem mit Swipe zurück, versuchen, Navigationstitel, etc. in ViewWillAppear und verstecken Sie den Titel in ViewWillDisAppear-Methode. Ich hoffe, das wird helfen. –

Antwort

1

Ich habe den gleichen Fluss in meiner App, aber ich habe kein Problem mit der Nav-Bar bekommen vermasselt.

Hier ist, wie die View-Controller erstellt wird:

MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init]; 

Der Delegierte festgelegt ist:

mailVC.mailComposeDelegate = self; 

Die View-Controller vorgestellt:

[self presentViewController:mailVC animated:YES completion:nil]; 

Die View-Controller wird zurückgewiesen in die Delegate-Methode, die aufgerufen wird, wenn der Benutzer in der Navigationsleiste die Schaltfläche Abbrechen drückt:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

Hoffe, das hilft.

Verwandte Themen