【问题标题】:Getting the reference to parent controller of the UIBarButtonItem when pressed按下时获取对 UIBarButtonItem 父控制器的引用
【发布时间】:2014-04-16 00:20:06
【问题描述】:

我有一个 UINavigationController 的实例,即 N 在方法中为我的 UIPopoverController 声明。我有两个 UIViewController,即 A 和 B。最初,当我加载弹出框时,我将 viewcontroller A 分配给我的导航控制器 N,以便显示 A 的视图。此时当N显示A时,N已经完成了UIBarbuttonItem类型的按钮分配为rightNavigation项并调用了一个方法即M()。

所以问题来了——当我按下完成时,我需要在调用的方法 M() 中加载视图控制器 B。那是在 N 中按 B,但为此我需要来自我按下的 UIBarButtonItem 的导航控制器 N 的实例。我假设一些事情像

-(void)M:(id)sender
 {
      UINavigationController *N = barButton.parentController;
     [N pushViewController:B animated:NO];
 }

但我没有找到任何解决方案。有人可以帮我解决这个问题。谢谢。

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    在方法 B 中,您使用:

    [self.navigationController pushViewController:ac 动画:YES];

    //ac == 你要推送的 UIVIewController

    【讨论】:

    • 我根本没听懂你。如何在这里使用 self.navigationController?我的 navigationController(即 N)是方法中的一个实例,B 是 viewController,而不是方法。
    • 你有一个导航包含UIViewController,对吗?如果是,在 (void)M:(id)sender 中,您可以调用 self.navigationController 来推送另一个 UIViewController。它必须有效。
    猜你喜欢
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    相关资源
    最近更新 更多