3

として表示されるビューコントローラからポップオーバーコントローラを表示することは不可能UIModalPresentationFormsheetですか?または私は何かが欠けていますか?

このコードは、非モーダルビューコントローラーで正常に機能し、ポップオーバーを正しく表示します(WEPopoverControllerはここからのカスタム実装です)。

    GenericDataTableViewController *genericDataController = [[GenericDataTableViewController alloc] initWithNibName:@"GenericDataTableViewController" bundle:[NSBundle mainBundle]];

    genericDataController.dataSource = [NSMutableArray arrayWithObjects:@"asli", nil];
    genericDataController.delegate = self;
    genericDataController.contentSizeForViewInPopover = CGSizeMake(300, 46 * [genericDataController.dataSource count]);

    self.popoverController = [[[WEPopoverController alloc] initWithContentViewController:genericDataController] autorelease];
    self.popoverController.delegate = self;
    [self.popoverController presentPopoverFromRect:((UIButton *)sender).frame
                                            inView:self.view
                          permittedArrowDirections:UIPopoverArrowDirectionUp
                                          animated:YES];
    [genericDataController release];

しかし、これをモーダルビューコントローラー内に配置すると、モーダルコントローラーの下、つまりモーダルコントローラーを表示するビューコントローラー上にポップオーバーが表示されます。そのため、ユーザーには表示されません。

どうすればこれを解決できますか?

4

1 に答える 1

3

答えは質問のコメントで説明されていますが、よりクリーンなQ&Aのためにここに要約しています。

ポップオーバーコントローラーがである場合、フォームシート内からのポップオーバーコントローラーの表示に制限はありませんUIPopoverController。私の問題は、の実装によるものでしWEPopoverControllerた。

だから、視覚的な経験を犠牲にして、古き良きものを続けてUIPopoverControllerください。

于 2011-11-30T08:14:47.823 に答える