来自UIButton的PopOver

Cal*_*ron 2 iphone ios ios5

这是我的代码

-(IBAction)showMenu:(id)sender
{   
    Demo   *mainMenuTableView = [[Demo alloc] init];
    UIPopoverController *pop = [[UIPopoverController alloc]initWithContentViewController:mainMenuTableView];
    [pop setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

}

Demo是我的xib,包含一个tableview控制器的东西.这个"演示"作为全屏视图工作得很好.

我正在尝试使用此视图创建一个popover,但我已经尝试了我认为stackoverflow上的所有其他解决方案,但我仍然无法确定如何创建和调用popover ...

我确定我就像一行代码或两行......我希望.任何帮助,将不胜感激!

谢谢!

rob*_*off 12

创建弹出控制器后,您必须告诉它呈现弹出窗口.你可以使用presentPopoverFromRect:inView:permittedArrowDirections:animated:presentPopoverFromBarButtonItem:permittedArrowDirections:animated:.例如,我假设您已连接showMenu:为a的操作UIButton.所以你可以在最后添加showMenu::

UIButton *button = (UIButton *)sender;
[pop presentPopoverFromRect:button.bounds
    inView:button
    permittedArrowDirections:UIPopoverArrowDirectionAny
    animated:YES];
Run Code Online (Sandbox Code Playgroud)

您还需要在实例变量或属性中引用弹出控制器.否则弹出控制器将在showMenu:返回时被释放,这将导致崩溃.感谢Floydian指出这一点.