10

私のアプリは、iOS 5.1 より前は完全に機能していました。左側のペインに があり、その中で行われた選択に応じて詳細ペインを更新しUISplitviewControllerます。UINavigationControllerUINavigationController

iOS 5.1 固有のポップオーバーの左からの新しいスライドインが機能します。見栄えはよくありませんが、機能します。

壊れているように見えるのは、縦向きのバー ボタンからの「ポップオーバー」の表示です。例外が発生します-'NSInternalInconsistencyException', reason: 'Unknown direction passed to _popoverViewSizeForContentSize:arrowDirection:'

次のようにポップオーバーを表示するメソッドをオーバーライドしようとしました:

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

しかし、私はまだ同じエラーが発生します。誰でも助けることができますか?

4

1 に答える 1

0

以下のデリゲートを使用して、詳細ページからマスター ページを表示します。

- (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;
    }
于 2013-06-12T06:50:36.847 に答える