向导航控制器添加工具栏

Posted

技术标签:

【中文标题】向导航控制器添加工具栏【英文标题】:Adding a toolbar to a navigation controller 【发布时间】:2012-01-04 14:01:27 【问题描述】:

我对ios开发完全陌生,我只对ios5开发感兴趣。

我有一个包含一些场景的应用程序,它们主要是表格视图。我也使用导航控制器

然而,我需要添加一些在所有场景中始终可见的状态文本和按钮,并认为添加到导航控制器的工具栏应该可以解决问题。

所以我认为我应该只需要将情节提要中的工具栏拖到导航控制器上,但它不会粘在那里。我可以使用第一响应者和导航控制器将它添加到下方的栏中,但这对我没有帮助(小图标)。 我也不能将它添加到我的表格视图中(但如果我拖出一个普通视图,我可以将它添加到那里)

我是否必须创建自己的导航视图使用的自定义导航类,然后以编程方式添加我的工具栏?

【问题讨论】:

是的 nikans,我以前是 *** 的新手,不太懂,但现在我变了 :-) 【参考方案1】:

最近有同样的问题。在情节提要的 ViewController 的属性中检查 Attributes Inspector。在那里你可以定义一个底栏。

【讨论】:

你是对的,现在你应该将它绑定到你的视图控制器中的一个属性,它会完美地工作。 太好了,谢谢你,我会尝试一下,希望一切顺利 我不完全理解为什么我需要连接任何东西(也不是谁),因为我添加了一个按钮并将其链接到另一个视图/场景并且效果很好,所以我真的不明白为什么我需要代码。我错过了什么? 不,没关系,但是如果你想在你的代码中引用这个工具栏(我通常这样做),你必须将它绑定到你的视图控制器。否则,只需将其留给情节提要即可。【参考方案2】:

好吧,在UINavigationController 中,你应该有一些东西……例如UIViewController。您可以通过在UIViewControllerUIView 内拖动对象来轻松添加UIToolBar。可能发生的情况是,作为根视图,您拥有UITableView,在这种情况下,我认为您不能这样做。但为了更好地理解,只需将您的 StoryBoard 打印一个小屏幕即可。

【讨论】:

我添加了一张图片,我的导航控制器中没有视图,我做错了什么吗?也请原谅很大的差距,但我正在使用 vnc 到 mac mini,由于某些奇怪的原因,一旦我放置了场景,我就无法移动它们:-( 这是Storyboards中TableViews的行为,除了TableViewCells不能添加子视图。如果您考虑一下,这很合乎逻辑。 Rickard 的问题是,您需要放置一个 UIView,然后在其中放置您的 UITableView。这就是为什么你不能添加你的 UIToolBar... 没错。但是如何让 UITableViewController 以这种方式工作呢? 嗯,我很少用 UITableViewController。但是,在 viewDidLoad 上放置以下内容:self.tableView=myTableIBOutlet。 (为您的表创建一个 IBOutelet)【参考方案3】:

如果您在情节提要上放大至 100%,它应该拖动。

【讨论】:

以上是关于向导航控制器添加工具栏的主要内容,如果未能解决你的问题,请参考以下文章

使用 TableView 向视图控制器添加导航

向导航控制器添加按钮

在导航控制器上显示工具栏按钮

以编程方式向导航控制器添加自动布局约束

向导航栏添加活动指示器

如何向在 tabcontroller 中以编程方式创建的导航控制器中的 barbuttonitem 添加操作