2012-04-11 7 views
10

Meine App funktionierte perfekt vor iOS 5.1. Es ist ein UISplitviewController mit einem UINavigationController im linken Fensterbereich und aktualisiert den Detailbereich in Abhängigkeit von den in diesem UINavigationController vorgenommenen Optionen.UISplitViewController iOS 5.1 verursacht Popover Pfeilrichtung Fehler

Das neue Einschieben von links Ersatz für das Popover, endemisch für iOS 5.1 funktioniert; es sieht nicht gut aus, aber es funktioniert.

Was anscheinend kaputt ist, ist die Anzeige des "Popover" von der Balkenschaltfläche im Hochformat. Es verursacht eine Ausnahme - 'NSInternalInconsistencyException', reason: 'Unknown direction passed to _popoverViewSizeForContentSize:arrowDirection:'

Ich habe versucht, die Methode zu überschreiben, die die popover zeigt wie folgt:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController { [self.popoverController presentPopoverFromBarButtonItem:self.masterPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }

Aber ich immer noch die gleichen Fehler. Kann jemand helfen?

Antwort

0

die folgend Delegierten Verwenden Sie die Master-Seite von Details Seite anzuzeigen

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController: 

    (UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
    { 
     barButtonItem.title = NSLocalizedString(@"Master", @"Master"); 
     [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
     self.masterPopoverController = popoverController; 
    } 

    - (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem 
    { 
     // Called when the view is shown again in the split view, invalidating the button and popover controller. 
     [self.navigationItem setLeftBarButtonItem:nil animated:YES]; 
     self.masterPopoverController = nil; 
    }