0

iPhone でポップオーバーを表示するには、WEPopover ( https://github.com/werner77/WEPopover ) を使用します。UIViewController残念ながら、一般的なものを使用すると機能しませんcontentViewController

- (IBAction)showPopover:(id)sender
{
    UIViewController *contentViewController = [[PopoverContentViewController alloc] init];
    popoverController = [[WEPopoverController alloc] initWithContentViewController:contentViewController];
    popoverController.delegate = self;
    [popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:(UIPopoverArrowDirectionUp) animated:YES];
}

これは、コンテンツのない黒いポップオーバーを表示するだけです。これPopoverContentViewControllerは、XCode によって生成された通常の UIViewController であり、変更は加えられていません。ストーリーボードに ViewController を追加し、そのサイズをフリーフォームに設定し、ビューのサイズを標準の iPhone サイズよりも小さく設定しました。このビューコントローラーの所有者をPopoverContentViewController. 残念ながら、コンテンツは表示されず、黒いポップアップが表示されるだけです。

PopoverContentViewController派生するように変更するUITableViewControllerと、テーブルビューが表示されますが、それは私が望むものではありません。

私は何を間違えましたか?

4

1 に答える 1

2

表示されているように alloc/init でインスタンス化するのではなく、ストーリーボードから View Controller をロードする必要がある可能性があります。

このようなもの:

UIViewController* contentViewController = [[UIStoryboard storyboardWithName: @"yourStoryboardName" bundle: nil] instantiateViewControllerWithIdentifier: @"yourViewControllerID"];
于 2013-05-21T20:36:00.017 に答える