UIPopovercontroller 父级?

发布于 2024-10-17 05:36:30 字数 257 浏览 5 评论 0原文

如何对uipopovercontroller的parentviewcontroller“执行选择器”? 我从 uiviewcontroller 启动了 uipopovercontroller,并且这个 uipopovercontroller 包含其他 uiviewcontroller。 我似乎无法从弹出窗口或“内部”视图控制器访问父视图控制器。

我希望我说得清楚...

顺便说一句 - ParentViewcontroller 不起作用...

谢谢!

How can "perform selector" to the parentviewcontroller of the uipopovercontroller?
I have uipopovercontroller lanuched from uiviewcontroller, and this uipopovercontroller includes other uiviewcontroller.
I can't seem to reach the parent view controller from either the popover or the "internal" view controller.

I hope i'm being clear...

BTW - parentViewcontroller doesn't work...

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧城烟雨 2024-10-24 05:36:30

无法直接使用 UIPopoverController 执行此操作。您可能必须将对父视图控制器的引用传递给您使用弹出窗口控制器管理的视图控制器:

// Assumes these calls are made from within a view controller and that
// MyViewController has a property called previousViewController

MyViewController * myViewController = [[[MyViewController alloc] init] autorelease];
myViewController.previousViewController = self;
UIPopoverController * popoverController = [[[UIPopoverController alloc] 
    initWithContentViewController:myViewController] autorelease];

UIBarButtonItem * rightBarButtonItem = self.navigationItem.rightBarButtonItem;
[popoverController presentPopoverFromBarButtonItem:rightBarButtonItem
                          permittedArrowDirections:UIPopoverArrowDirectionDown
                                          animated:YES];

类似的东西,但重要的是您的视图控制器(由弹出窗口控制器管理)具有在呈现弹出窗口之前获取对父视图控制器的引用。

There's no way to do this directly with UIPopoverController. You're going to have to probably pass a reference to your parent view controller to the view controller you're managing with a popover controller:

// Assumes these calls are made from within a view controller and that
// MyViewController has a property called previousViewController

MyViewController * myViewController = [[[MyViewController alloc] init] autorelease];
myViewController.previousViewController = self;
UIPopoverController * popoverController = [[[UIPopoverController alloc] 
    initWithContentViewController:myViewController] autorelease];

UIBarButtonItem * rightBarButtonItem = self.navigationItem.rightBarButtonItem;
[popoverController presentPopoverFromBarButtonItem:rightBarButtonItem
                          permittedArrowDirections:UIPopoverArrowDirectionDown
                                          animated:YES];

Something like that, but the important point is that your view controller (managed by the popover controller) has to grab a reference to your parent view controller before you present the popover.

还如梦归 2024-10-24 05:36:30

您可以使用私有方法从视图控制器获取父弹出窗口控制器。

UIPopoverController *popopverController = [self performSelector:@selector(_popoverController)];
[popopverController dismissPopoverAnimated:YES];

You can use a private method to get a parent popover controller from the view controller.

UIPopoverController *popopverController = [self performSelector:@selector(_popoverController)];
[popopverController dismissPopoverAnimated:YES];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文