Ich zerbreche mir schon seit langem den Kopf und versuche, dieses Problem zu lösen. Ich habe StackOverflow durchsucht und habe Leute gefunden, die nach etwas fragen, das meinem Problem ähnelt wie diese Frage y diese Frage aber keine der gegebenen Antworten hat mir geholfen.
Um das Problem im Detail zu erklären:
-
Ich habe Apples Paging-Beispiel verwendet, um das Blättern zwischen View-Controllern zu ermöglichen
-
Die Ansichtshierarchie sieht folgendermaßen aus: UIWindow -> UIScrollView (MainController) -> UIViewControllers.
Ich verwende diesen Code, um einen Delegaten für den Viewcontroller zu erstellen, der die UISCrollview enthält:
if(page == 0) { ContractsViewController *controller = [viewControllers objectAtIndex:page]; if ((NSNull *) controller == [NSNull null]) { controller = [[ContractsViewController alloc] initWithNibName:@"ContractsView" bundle:nil]; controller.delegate = self; [viewControllers replaceObjectAtIndex:page withObject:controller]; [controller release]; } // add the controller's view to the scroll view if (controller.view.superview == nil) { CGRect frame = scrollView.frame; frame.origin.x = frame.size.width * page; frame.origin.y = 0; controller.view.frame = frame; controller.view.tag = 0; [scrollView addSubview:controller.view]; } }
Das Problem tritt dann auf, wenn ich versuche, einen modalviewcontroller von meinem ViewController innerhalb der scrollview mit dem Delegaten zu präsentieren. Es funktioniert ein paar Mal, aber dann gibt mir eine EXC_BAD_ACCESS. Ich habe auch versucht, eine Benachrichtigung zu posten und einen Listener im MainController zu erstellen, um es auf diese Weise zu präsentieren, aber immer noch das gleiche Problem.
Beim Testen in iOS 4.3 alles funktioniert wie ein Charme, aber in iOS5 bekomme ich das Problem.
Ich hoffe, jemand kann mir helfen, dieses Problem loszuwerden.
Ich danke Ihnen im Voraus.