将视图控制器显示为弹出窗口-iOS8

Posted

技术标签:

【中文标题】将视图控制器显示为弹出窗口-iOS8【英文标题】:Showing View controller as a pop up- iOS8 【发布时间】:2014-10-21 04:21:08 【问题描述】:

在我的第一个视图控制器中,我在顶部水平放置了一系列按钮(例如 5 个)。当我单击五个按钮之一时,应该会出现来自不同控制器(例如 Second View Controller )的另一个视图。

SecondViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondVC"];
[self.navigationController pushViewController:controller animated:YES];

但这涵盖了整个第一视图。有没有办法让我的第二个视图显示为弹出窗口,其中一系列按钮仍然可见并且可以工作?

【问题讨论】:

仅限ios8 还是您也需要支持以前的版本? iPhone 或 iPad 或两者兼而有之? 仅限 iOS 8 且仅限 iPhone 您可以使用新的present as popover 自适应segue - 请参阅此***.com/questions/24635744/… 但我正在研究 Objective C..not Swift 语言无关紧要。您需要实现该方法才能获得弹出式样式,而不是全屏演示。 【参考方案1】:

如果您试图在不覆盖整个屏幕的情况下显示视图控制器,请尝试将其作为子视图添加到视图控制器。

  SecondViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondVC"];
controller.view.frame=CGRectMake(50,50,100,100);
[self.view addSubview:controller.view];

【讨论】:

【参考方案2】:

您可以使用 MJPopupViewController。试试这个它会解决你的问题。你可以从这里下载:-

https://github.com/martinjuhasz/MJPopupViewController

【讨论】:

以上是关于将视图控制器显示为弹出窗口-iOS8的主要内容,如果未能解决你的问题,请参考以下文章

当作为弹出框触发时更改 MasterViewController 的大小

将UserControl显示为弹出窗口

iOS8模式弹出窗口中UINavigationController视图的宽度?

将图像显示为弹出框

iOS 从任何地方将 UIViewController 显示为弹出窗口

为弹出窗口动态加载 css 文件