我正在尝试实施UIPopoverController
。我已经看到了一些示例代码,但仍然对如何将popover视图控制器连接到storyboard感到困惑。请帮助。
答案 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,因为它只是一个容器。你只需要看看里面有什么,那就是视图控制器,显然,你可以做到这一点。