【问题标题】:Swift - UITableViewController with navigation barSwift - 带有导航栏的 UITableViewController
【发布时间】:2016-04-15 14:58:53
【问题描述】:

我的一个表视图控制器遇到问题。无论我启用什么选项,我似乎都无法让导航栏显示在顶部(也许我遗漏了一些东西)。

我尝试了以下方法:

  • 在情节提要中选择控制器并转到属性检查器并确保顶部栏设置为半透明导航(无效)
  • 在 viewWillAppear 函数中,我写道:(没用)

self.navigationController?.navigationBarHidden = false

附加的也是所讨论的控制器的图像。我怎样才能显示顶部栏?否则结果很难看,因为显示(行)的记录是从最顶部开始的。如果可能的话,我不希望使用 UIEdgeInsetsMake 来修复它。

谢谢,

【问题讨论】:

  • 如何呈现视图?
  • 请澄清您的要求...

标签: ios xcode swift


【解决方案1】:

点击ordersViewController。然后在顶部栏中 Editor > Embed In > Navigation Controller 并删除您当前在 VC 中拥有的 navigationbar

【讨论】:

  • 这会导致一个循环,从而重复填充视图控制器(可能导致崩溃)。
  • 不应该。您唯一要做的就是将您的 VC 嵌入到导航控制器中。 AFAIK,这就是这样做的方法。
  • 成功了。问题是我没有删除其他用户建议的代码。非常感谢
  • 我认为这实际上行不通。它添加了 UINavigationBarItem,而不是 UINavigationBar
【解决方案2】:

如果你是从另一个控制器来到TableViewController 那么

试试这个代码

let nav : UINavigationController = UINavigationController(rootViewController: self.storyboard!.instantiateViewControllerWithIdentifier("YourControllerName") as UIViewController)

self.navigationController?.presentViewController(nav, animated: true, completion: nil)

【讨论】:

  • 我有标签栏,其中一个是订单标签...所以当我点击它时,上面的第一张图片被加载(即视图控制器)
  • "上面的第一张图片被加载了(即视图控制器)"是tableViewController吗?
  • @ksa_coder 看不到图片。可能是stackoverflow问题
  • 好吧,我想其他人都看到了……抱歉,对此无能为力
【解决方案3】:

您必须将UITableViewController 嵌入到UINavigationController 中。

【讨论】:

  • 如果您使用 Storyboard,这是最好的解决方案。但是,如果您的 UITableViewController 在 xib 中,则使用来自 hellosheikh 的上述解决方案。
猜你喜欢
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
  • 2016-11-18
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多