Rob*_*bin 11 iphone objective-c uitoolbar uiviewcontroller uinavigationcontroller
我有一个在UINavigationController上运行的应用程序.现在我想在每个屏幕的底部添加一个UIToolbar元素.底部的工具栏应该可以为当前显示的ViewController进行自定义.我的第一个想法是简单地将工具栏添加到navigationController视图并标记它,在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];
Run Code Online (Sandbox Code Playgroud)
在我的viewController中,我试过这个:
UIToolbar *toolbar = [self.navigationController.view viewWithTag:TOOLBAR_TAG];
toolbar.barStyle = UIBarStyleBlack;
Run Code Online (Sandbox Code Playgroud)
然而,这给了我一个错误,说我的情况下工具栏是一个"UILayoutContainerView"对象,而不是UIToolbar对象.因此,这个想法似乎是一个死胡同.
别人怎么解决这个问题?
Can*_*der 42
UINavigationController已经有了一个工具栏.只是用
[self.navigationController setToolbarHidden:NO];
Run Code Online (Sandbox Code Playgroud)
在最顶层的视图控制器和
[self setToolbarItems:items];
Run Code Online (Sandbox Code Playgroud)
在所有视图控制器中,其中项目是NSArray
该视图控制器的工具栏项目.
编辑:至于为什么你的解决方案不起作用:你TOOLBAR_TAG
可能不是唯一的,这就是为什么你得到另一个子视图.但正如我所说,你应该使用包含的工具栏.
归档时间: |
|
查看次数: |
13223 次 |
最近记录: |