【问题标题】:Keeping UI Elements in UINavigationBar across different Views将 UI 元素保留在 UINavigationBar 中的不同视图中
【发布时间】:2015-04-13 13:02:48
【问题描述】:

我的 iPad 应用程序主屏幕上的 UINvigationBar 中有一些 UIElement。即几个按钮和一个 UISearchbar。

当我将新的 ViewController 推送到导航堆栈时,我希望这些项目保留在 UINavigationBar 中。目前,如果不在每个新屏幕上一遍又一遍地设置导航栏,我不确定该怎么做。此外,我不确定将搜索栏逻辑放在哪里,以便它可以在任何屏幕上工作。

我正在尝试做的一个很好的例子可以在 eBays 当前的 iPad 应用程序上看到。

如何在 iPad 应用程序上保留“静态”UINavigationBar,是否可以使用基本视图控制器进行搜索?

如有任何反馈,我们将不胜感激!

谢谢!

【问题讨论】:

    标签: objective-c ipad uinavigationcontroller uinavigationbar


    【解决方案1】:

    创建一个UIViewController 的子类,用于完成所有导航栏设置。让您的所有自定义视图控制器都继承自该视图控制器。

    【讨论】:

    • 感谢您的回答。我在想视图控制器遏制会是从这里开始的更好方法吗?如果我采用你的方法,我需要让每个子视图都知道搜索栏何时处于活动状态并正确使用按钮?
    • 是的,您也可以使用自定义视图控制器容器。您可以使用委托作为一种模式来通知子视图控制器、KVO 或通知。
    • 谢谢。我真的需要它像 UINavigationController 一样使用 push/pop VC。我希望我可以给 eBay 发电子邮件,问他们是怎么做的。只需要进行更多的实验来解决这个问题。欣赏洞察力。
    • 只是一个更新:我尝试了子类,它更接近我所追求的。然而,每次我得到一个新的 VC 时,按钮似乎都会淡入/淡出。有没有办法阻止它?
    • 嗯,是的,我没想到。由于 UINavigationController 会自动为其 VC 设置动画...另一种可能的解决方案是将 UINavigationBar 子类化并在初始化时将其设置在 UINavigationController 上。
    猜你喜欢
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    相关资源
    最近更新 更多