【问题标题】:How to add UIImageView above UINavigationController's bar如何在 UINavigationController 的 bar 上方添加 UIImageView
【发布时间】:2012-05-29 19:25:40
【问题描述】:

我有基于 UINavigationController 的 UITableView。单击任何行应用程序后,切换到另一个具有 UINavigationController 的视图。在新视图中,我想在 UINavigationController 的栏上方添加 UIImageView 但不覆盖它。我该怎么做?

【问题讨论】:

  • “高于栏,但不覆盖”?你知道这是矛盾的吗?
  • 以上是什么意思?在屏幕上垂直较高的位置,还是在导航栏的顶部分层?如果是后者,则同上 CodaFi,除非您希望它是透明的,在这种情况下,这样说会消除您问题中的很多困惑和歧义。
  • @MartinH 是的,在屏幕上的垂直位置较高。对不起我的英语不好。

标签: objective-c ios uinavigationcontroller


【解决方案1】:

(根据您的评论)这是我将图像放置在 y 坐标“上方”的方法,而不是子视图。

在新视图中,

隐藏navigationController的navigationBar [navigationController.navigationBar setHidden:YES];

添加一个 UIToolbar,其原点是您感兴趣的,大小为 (320, 44),假设您在 iPhone 上执行此操作,并且图像垂直位于该栏上方。

如果您转到导航栏上方没有图像的旧/上一个视图,请记住取消隐藏导航栏。

【讨论】:

    【解决方案2】:

    将您的 UIImageView 添加为 self.navigationController.view 的子视图,并提供接近或小于零的坐标以将其定位到高于 UINavigationBar 的位置。

    【讨论】:

      【解决方案3】:

      我找到了更简单的解决方案。只需要设置self.navigationController.navigationBar所需的frame坐标: [self.navigationController.navigationBar setFrame:CGRectMakeCoordinates];

      【讨论】:

      • 它对我不起作用 :(,有什么建议吗?我在 UITabBarController 中有导航栏。
      猜你喜欢
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 2011-10-04
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多