【问题标题】:Importing UIViewController-classed file to AppDelegate将 UIViewController 类文件导入 AppDelegate
【发布时间】:2013-09-13 20:33:52
【问题描述】:

我正在使用一个 GitHub 项目,它允许我使用 .xib 文件 (GitHub link 1) 创建一个弹出窗口。我还在使用来自 GitHub 的另一个项目,它创建了一个侧边菜单 (GitHub link 2)。

我希望在我点击其中一个按钮时显示一个弹出窗口。但是,second one is set up up 的方式需要我将代码添加到应用程序委托中,不幸的是,我遇到了这个问题。

这是我用于弹出窗口的代码:

SampleViewController *sampleViewController = [[SampleViewController alloc] initWithNibName:@"SampleViewController" bundle:nil];
    [self presentViewController:samplePopupViewController animated:YES completion:nil];

在最后一行代码中,我收到以下错误消息:

No visible @interface for 'AppDelegate' declares the selector 'presentViewController:animated:completion:'

我该如何解决这个问题?

【问题讨论】:

  • 您为什么要这样做?你想达到什么目的?在这种情况下你不能使用“self”,因为 self 是应用程序委托,而 presentViewController:animated:completion: 是 UIViewController 的一个方法。导入视图控制器不会改变这一点。
  • 我很抱歉。我认为如果我把它做得足够通用,我就能得到我的答案,但同时,也可以帮助其他遇到类似问题的人。看来我写得太笼统了。我已经更新了这个问题。
  • 在不知道这两个链接的情况下很难判断您在做什么,但一般来说,您必须从当前屏幕上的任何控制器视图呈现控制器。因此,您需要弄清楚它是什么控制器,并从中进行演示。
  • 啊。我懂了。好吧;我想我必须弄清楚如何将第二个项目的代码路由到 ViewController 中。还是谢谢你。

标签: ios objective-c uiviewcontroller appdelegate


【解决方案1】:

是的。如果您导入视图控制器的标头,那么您可以在应用程序委托中创建并显示该视图控制器的实例。

为什么不试试呢?

【讨论】:

  • 我试过了,但我收到一条错误消息,上面写着No visible @interface for 'AppDelegate' declares the selector 'presentViewController:animated:completion:'。事实上,示例代码就是我正在使用的代码,但它似乎不想工作。
猜你喜欢
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 2019-09-22
  • 1970-01-01
  • 2020-10-01
  • 1970-01-01
相关资源
最近更新 更多