从可重用的视图中显示popover视图?

时间:2017-07-21 15:49:44

标签: ios objective-c viewcontroller popover nib

我在iOS开发方面仍然很新,所以原谅我的任何误解。我正在Objective-C中创建一个应用程序,它在许多屏幕中都有一个共同的可重用视图(让我们称之为“横幅视图”)(称为主屏幕)。在此横幅视图中,有一个按钮,用于显示弹出帮助显示(称为“帮助视图”)。我正在试图找出最好的方法,以便我可以重用尽可能多的视图。

我尝试了什么:

  1. 创建两个自定义笔尖(一个用于横幅视图,一个用于帮助视图)。这适用于在所有主屏幕上显示横幅视图(使用UIView - >自定义类:横幅视图),但我无法弄清楚如何在包含横幅视图的主屏幕中动态显示帮助视图。 / p>

  2. 使用横幅视图和帮助视图创建横幅故事板。我创建了相应的横幅控制器(故事板中的初始控制器)和帮助控制器(与popover segue链接),我将视图传输到。然后我尝试在我的主屏幕中放置一个容器视图,并将视图控制器自定义类设置为Banner Controller。这根本没有显示横幅。

  3. 最好的方法是什么?它甚至可能吗?

2 个答案:

答案 0 :(得分:1)

我的解决方案是将两个视图放在堆栈视图中,并隐藏/显示帮助视图。

答案 1 :(得分:1)

您可以从横幅视图中获取最顶层的viewcontroller。然后出现你的帮助屏幕(帮助屏幕应该是UIViewController而不是UIView)。 要获得顶视图控制器,您可以使用代码形式来回答:https://stackoverflow.com/a/24825480/2984553。之后,您可以使用以下代码显示帮助视图:

[topViewController presentViewController:HelpViewController animated:YES completion:nil];