我正在尝试UIPopoverPresentationController在我的iPhone应用程序中实现新功能(使用Objective C).我想要的是一个简单的popover,其中包含一个从启动按钮发出的tableview.
- 编辑 -
这是我的修订代码,改编自文档中的研究,SO,以及下面评论中的输入:
- (IBAction)selectCategoryBtn:(UIButton *)sender
{
[self performSegueWithIdentifier:@"CatSelectSegue" sender:self.selCatButton];
}
-(void) prepareForSegue:(UIStoryboardSegue *) segue Sender:(id) sender
{
if (sender == self.selCatButton)
{
if ([segue.identifier isEqualToString:@"CatSelectSegue"])
{
UIPopoverPresentationController *controller = segue.destinationViewController;
controller.delegate = self;
controller.sourceView = self.selCatButton;
controller.sourceRect = self.selCatButton.frame;
}
}
}
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
{
return UIModalPresentationNone;
Run Code Online (Sandbox Code Playgroud)
这是我的故事板连接:

然而,这只是以模态方式呈现一个桌面视图,从底部上升并消耗整个屏幕.
我用谷歌搜索了,看起来都是如此,但看起来我并不是唯一一个被我希望解决iPhone烦恼问题所迷惑的人.
任何人都可以看到我的代码中的故障或指导我一个明确的教程?我看过了,但也许API是如此新的没有人能够掌握它.
谢谢!
第二次编辑:
以下是上述代码的结果.我减少了视图控制器中的tableview的大小,我希望将其作为弹出窗口呈现.我把背景涂成灰色,只是为了澄清出现的是什么,而不是弹出窗口.
