gpt4 book ai didi

iphone - UINavigationController 各页面上的UIToolbar

转载 作者:太空狗 更新时间:2023-10-30 03:22:39 25 4
gpt4 key购买 nike

我有一个在 UINavigationController 上运行的应用程序。现在我想在每个屏幕的底部添加一个 UIToolbar 元素。底部的工具栏应该可以针对当前显示的 ViewController 进行自定义。我的第一个想法是简单地将工具栏添加到 navigationController View 并对其进行标记,我认为在 viewController 中我将能够检索 UIToolbar 元素。我有以下代码:

在我的 AppDelegate 中:

// Get instance of Toolbar  (navController is an instance of UINavigationController and TOOLBAR_TAG a constant)
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 440, 320, 40)];
toolbar.tag = TOOLBAR_TAG;
[navController.view addSubview:toolbar];

在我的 viewController 中,我尝试了这个:

UIToolbar *toolbar = [self.navigationController.view viewWithTag:TOOLBAR_TAG];
toolbar.barStyle = UIBarStyleBlack;

然而,这给了我一个错误,说我的工具栏是一个“UILayoutContainerView”对象,而不是一个 UIToolbar 对象。因此,这个想法似乎是一个死胡同。

其他人是如何解决这个问题的?

最佳答案

UINavigationController 已经有一个工具栏。只需使用

[self.navigationController setToolbarHidden:NO];

在最顶层的 View Controller 和

[self setToolbarItems:items];

在所有 View Controller 中,items 是该 View Controller 工具栏项的 NSArray

编辑:至于为什么您的解决方案不起作用:您的 TOOLBAR_​​TAG 可能不是唯一的,这就是您获得另一个 subview 的原因。但正如我所说,无论如何您都应该使用包含的工具栏。

关于iphone - UINavigationController 各页面上的UIToolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2312484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com