【问题标题】:Adding Subview to UINavigationController Subclass将子视图添加到 UINavigationController 子类
【发布时间】:2015-09-04 09:01:45
【问题描述】:

我对 UINavigationController 进行了子类化,并在 UINavigationBar 下方添加了一个自定义子视图。我在viewDidLayoutSubviews() 方法中更新了我的子视图的位置。但是,当我将 viewController 添加到 navigationController 时,使用此方法,viewController 的视图将隐藏在我的自定义子视图后面。 我应该如何添加子视图,这样它才不会覆盖我的 viewController 的视图?

override func viewDidLoad() {
    self.view.addSubview(tabView)
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    tabView.frame = CGRect(x: 0, y: self.navigationBar.frame.origin.y + self.navigationBar.frame.height, width: self.view.frame.size.width, height: 40.0)
    navigationViewHeight = tabView.frame.origin.y + tabView.frame.size.height

}

【问题讨论】:

  • 您是否有理由不将导航控制器嵌入到 UITabBarController 中?走这条路将确保您“免费”获得所有这些功能。
  • @WayneHartman 因为我想让标签栏位于屏幕顶部并自定义其外观。 Haven 确实研究过这种可能性,但我使用 UITabBarController 的经验是,自定义非常痛苦。

标签: ios iphone uiview uinavigationcontroller


【解决方案1】:

您应该考虑继承 UINavigationBar 而不是 UINavigationController。下面是添加子视图到自定义导航栏的示例https://gist.github.com/timothyarmes/7080170

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多