Das ist die Situation:Neue Ansicht in einer Registerkarte beim Wechseln zu einer anderen Registerkarte
Ich habe eine Tab-Leiste mit 2 Registerkarten. Tab01 und Tab02. In TAB01 habe ich eine Taste, die repVC schiebt:
repVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:repVC animated:YES]; [(UIViewController *)[tabController.viewControllers objectAtIndex:0] setView:repVC.view]; [repVC release];
Innen repVC habe ich eine andere Taste, die eine MFMailComposerViewController schiebt:
MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; [self presentModalViewController:mail animated:YES]; [mail release];
Das Problem ist: Wenn Mailview angezeigt wird (in tab01) und ich klicke auf Tab02, dann zurück zu Tab01, die MailView ist ausgeblendet und selbst wenn ich erneut auf die E-Mail-Schaltfläche klicke, wird die Ansicht nicht angezeigt.
Also, was ich habe, ist:
Tab01.view -> repVC.view -> mail.view
Für repVC
, ich diese Linie verwenden, wenn ich die Ansicht drücken, so dass, selbst wenn ich Schalter Tabs gehen, wird diese Ansicht immer noch aktiviert werden:
[(UIViewController *)[tabController.viewControllers objectAtIndex:0] setView:repVC.view];
Aber ich kann das gleiche für mail nicht tun, weil tabController
in einer anderen Klasse deklariert ist, die ich nicht importieren kann. Daher kann ich nicht auf den tabController zugreifen und die Ansicht für Tab01 festlegen.
Ich hoffe, der Schnitt half das Verständnis.
Arbeitete wie ein Charme. Ich habe einen NavigationController in Tab01 erstellt und nur benutzt, wenn ich die neue Ansicht verschieben musste. Hat gut funktioniert, da keine der Ansichten tatsächlich eine Navigationsleiste zeigt und die neue Ansicht die Tableiste ausblendet. Vielen Dank! –
Oh, übrigens, ich habe '[navController presentModalViewController: repVC animiert: YES]; 'anstelle von' pushViewController' verwendet. –
Ich bin froh, dass ich dir helfen konnte :-) – Amandir