WEPopover不能与UIViewController一起使用!= UITableViewController

时间:2013-05-21 20:20:47

标签: iphone objective-c uitableview uiviewcontroller popover

我使用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];
}

这只是给我一个没有内容的黑色popover。 PopoverContentViewController只是由XCode生成的普通UIViewController,没有任何更改。在我的故事板中,我添加了一个ViewController,将其大小设置为自由形式,并将视图的大小设置为低于标准iPhone大小的值。我将此viewcontroller的所有者设置为PopoverContentViewController。不幸的是它没有显示内容,它只是显示一个黑色弹出窗口。

如果我将PopoverContentViewController更改为从UITableViewController派生,则会显示表格视图,但这不是我想要的。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可能需要从故事板加载视图控制器,而不是在显示时使用alloc / init对其进行实例化。

这样的事情:

UIViewController* contentViewController = [[UIStoryboard storyboardWithName: @"yourStoryboardName" bundle: nil] instantiateViewControllerWithIdentifier: @"yourViewControllerID"];