0

我使用 WEPopover ( https://github.com/werner77/WEPopover ) 在 iPhone 上显示弹出框。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 实例化它。

像这样的东西:

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