如何在StoryBoard中连接UIPopoverViewController

时间:2013-12-13 09:56:08

标签: ios iphone uiviewcontroller uipopovercontroller

我正在尝试实施UIPopoverController。我已经看到了一些示例代码,但仍然对如何将popover视图控制器连接到storyboard感到困惑。请帮助。

1 个答案:

答案 0 :(得分:1)

if (!patientPopover) {
      UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
      MyViewController * addPacientController = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
      UINavigationController * myNavController = [[UINavigationController alloc] initWithRootViewController:MyViewController];
      patientPopover = [[UIPopoverController alloc] initWithContentViewController:myNavController];
      patientPopover.delegate = self; // optional
}
[patientPopover presentPopoverFromBarButtonItem:yourInstanceBarButtonItemOrMethodArgumentAttachedToTheBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

将弹片放在一个实例变量中是很好的,这样每次按下按钮时都可以避免分配它。我在这里使用来自UIBarButtonItem的弹出窗口,但您也可以从任何视图中显示它,例如:

[patientPopover presentPopoverFromRect:yourView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

您无需在storyboard或nib文件中直观地看到实际的popover,因为它只是一个容器。你只需要看看里面有什么,那就是视图控制器,显然,你可以做到这一点。