我有一个运行在 UINavigationController 上的应用程序。现在我想在每个屏幕底部添加一个 UIToolbar 元素。底部的工具栏应该是可定制的,以适应当前显示的 ViewController。我的第一个想法是将工具栏简单地添加到 navigationController 视图并打标签,在 viewController 中我认为我将能够检索到 UIToolbar 元素。我有以下代码:
在我的 AppDelegate 中:
在我的 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];
在我的视图控制器中,我尝试了这个:
UIToolbar *toolbar = [self.navigationController.view viewWithTag:TOOLBAR_TAG];
toolbar.barStyle = UIBarStyleBlack;
然而,这会给我一个错误,说我的工具栏在这种情况下是一个“UILayoutContainerView”对象,而不是一个UIToolbar对象。因此,这个想法似乎是走不通的。
其他人是如何解决这个问题的?