如何让一个底部的UIView始终保持在视图中但是顶部的UIView会发生变化?

时间:2014-06-23 13:23:02

标签: iphone objective-c xcode uiview uiviewcontroller

我目前正在设计一个应用程序,我的底部视图有信息并且一直显示。但是,屏幕的另一半我希望能够导航和更改视图(希望使用导航控制器)。无论如何我可以做到这一点,顶视图可以自由更改并推动视图控制器像常规应用程序。但是底部的UIView是否会在那里更新其信息?我应采取什么样的一般设计方法?

3 个答案:

答案 0 :(得分:0)

为底部视图创建一个UIView子类,并让每个视图控制器将底部视图放在其视图的底部。你可能会问:

  1. 这不是很多代码吗?如果您将底视图所做的所有内容放在底层视图类中,则不会。

  2. 拥有很多实例并不浪费吗?也许吧,但把它想象成一个UIControl。我们很高兴有很多UIButtons实例,我们的应用程序中的每个按钮都有一个。

  3. 构建底视图并在每个视图控制器中添加为子视图是不是很多冗余代码?如果有很多视图控制器,请让它们继承来自一个名为ViewControllerWithBottomView的新vc子类,它执行框架并添加其viewDidLoad。

答案 1 :(得分:0)

您可以创建一个新的UIWindow并为其提供足够高的windowLevel,然后使用该窗口显示您的底部视图。这样它也不会参与任何视图控制器动画,就像@danh所建议的解决方案一样。

答案 2 :(得分:0)

好的,我认为这是一个更简单的解决方案。您可以使用容器视图来实现此目的。有一个viewController(父)管理静态内容。在parenViewController中嵌入容器视图,并将navigationController放在containerView。

以下是如何将它们放在一起的说明。 enter image description here