使用 Interface Builder 将 UITableView 放在导航栏下方
Posted
技术标签:
【中文标题】使用 Interface Builder 将 UITableView 放在导航栏下方【英文标题】:Place UITableView below Navigation bar with Interface Builder 【发布时间】:2015-07-10 16:31:02 【问题描述】:我正在开发具有以下场景的情节提要:导航控制器具有 UITableViewController(父亲)。在父亲中有一个单元格,它执行一个打开新 UIViewController 的 segue:Son。在 Son 内部,我拖了一个 UITableView 和一个导航项,因为我想在导航栏中有一个刷新按钮。
但是,当我运行该项目时,表格不适合导航栏下方。此外,它似乎是视图页脚中的一个空白区域。我应该在界面构建器中设置或修改什么属性,以使表格在导航栏之后开始并填充整个视图?
【问题讨论】:
【参考方案1】:您无需手动将导航拖到您的“儿子”控制器。只需将 segue 的类型指定为“show”,您的“子”控制器应该从父控制器继承导航栏。
至于刷新按钮,您可以在代码中创建一个并将其添加到导航栏,如:
self.refreshButton=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(resetButtonTapped:)]; self.navigationItem.rightBarButtonItem=self.refreshButton
【讨论】:
这并不能解决我的问题。其实结果是一样的@gyan【参考方案2】:解决方案非常简单,只需要包含以下行:
self.navigationController.navigationBar.translucent = NO;
【讨论】:
以上是关于使用 Interface Builder 将 UITableView 放在导航栏下方的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Interface Builder 在其他 UI 元素的背景中添加 UIButton?
如何像 Interface Builder 一样调整 iOS UI 组件的大小
代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
在 Interface Builder 中自定义 UITableViewCell