不使用整个屏幕的导航控制器

时间:2010-09-15 22:55:05

标签: iphone cocoa-touch uikit uinavigationcontroller

我有一个导航控制器,我不想用完整个屏幕。特别是,我想在屏幕顶部的栏中放置一个徽标图像。不幸的是,导航控制器似乎没有这样设计。在界面构建器中,我无法使其占用屏幕的一部分。如何在顶部实现徽标图像的效果,并在屏幕的其余部分占用导航控制器?

1 个答案:

答案 0 :(得分:2)

我自己没有这样做,但它应该是非常简单的。您需要一个包装器视图控制器作为其父级(让我们称之为MyWrapperViewController),它的视图层次结构可能最终看起来像这样:

UIView -+ (hooked up to the view outlet in MyWrapperViewController)
        |
        +-- UIView (Your logo goes here)
        |
        +-- UIView (The "child" navigation controller's view)

徽标视图可以是UIView,也可以是UIImageView,或适合内容的任何类别。

UINavigationController课程的某处创建MyWrapperViewController时,您可以将其view bounds调整为小于全屏的内容(可能是屏幕大小)减去徽标的大小,使用适当的origin偏移,使其位于徽标下方),然后将其添加为子视图。