添加在浏览视图时保持原样的子视图

时间:2014-07-21 05:36:09

标签: ios iphone objective-c uiviewcontroller uinavigationcontroller

我希望从导航栏创建一个看起来像横幅下拉视图的子视图。

example 1或类似example 2

我觉得我一直都看到这种效果,但一直在努力重新创造这个。我有它在单视图应用程序上工作,但我希望它保持在我从视图导航到视图。现在我在故事板中设置了视图,并希望使用它,因为我以编程方式尝试这个问题。

创建此"下拉横幅视图"当用户从一个屏幕导航到另一个屏幕时,让它保持原位(直到用户解雇它)我看到两个解决方案,每个解决方案都让我难以接受。

创建我自己的主视图作为window.rootViewController 我认为这最终是一个更清洁的解决方案,但实施起来有点困难。是否可以创建一个空白的UIView作为rootViewController,每当应用程序需要下拉alertBanner它可以告诉rootController这样做?视图层次结构类似于

窗口 - > masterViewController - > alertBannerController - >导航控制器 - > otherViewControllers

但我似乎无法正确设置此方法。

从UINavigationController的子类创建AlertBannerView的实例 我没有调用方法从rootViewController创建一个dropDownBanner,而是看到了另一个选项,即继承navigationController以便能够下拉这个子视图。这样,当用户在视图中导航时,它仍然可以持续存在。

我再次无法正确设置它以使用现有的NavigationControllers

结论

  • 我不知道这里最好的方法是什么。
  • 这与Apple推送通知下拉屏幕不同,因为我想为应用UI自定义
  • 有关如何正确设置自定义视图作为rootViewController的任何提示都会很棒(我该怎么做?我需要调用哪些方法?)
  • 这里要解决的问题是让警报横幅视图保留在窗口中,直到用户将其解除,即使他们正在从一个屏幕导航到另一个屏幕。

谢谢!

1 个答案:

答案 0 :(得分:3)

根据您使用的iOS版本,是的,有很多可能性和方法可以做到这一点。事实上,有一个人已经拥有很多

通过查看现有解决方案,获取有关如何解决此问题的一些想法的最佳位置。 CocoaControls是一个很好的地方。

例如,这是一个相对较新的一个:https://www.cocoacontrols.com/controls/mpgnotification

这里有一堆列表(不幸的是它们没有以任何特定的顺序排序):https://www.cocoacontrols.com/search?utf8=%E2%9C%93&q=notification