代码之家  ›  专栏  ›  技术社区  ›  Casebash

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

  •  1
  • Casebash  · 技术社区  · 15 年前

    我有一个导航控制器,我不想用光整个屏幕。特别是,我想把一个标志图像在屏幕顶部的一个酒吧。不幸的是,导航控制器似乎不是这样设计的。在界面生成器中,我不能让它占据屏幕的一部分。你将如何实现一个标志图像的顶部和一个导航控制器占据屏幕的其余部分的效果?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Shaggy Frog    15 年前

    我自己没做过,但应该很直接。您需要一个包装视图控制器作为其父级(我们称之为 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 偏移,使其位于徽标下方),然后将其添加为子视图。