2

我知道如何在 rootviewcontroller.m 中添加 UIToolbar:

[self.navigationController.view addSubview:toolbar];

但是,当我导航到其他视图时,工具栏保持不变,这没关系,但我如何访问它来隐藏/显示它?

在 rootviewcontroller 里面我会使用这个:

toolbar.hidden = NO;

但我似乎找不到在 rootviewcontroller.m 之外执行此操作的方法

你能告诉我一个从另一个班级隐藏它的例子吗?

4

4 回答 4

3

有两种选择;

1)向控制器添加一个属性,以便外部类可以访问工具栏对象。

2) 向您的根视图控制器添加一个可用于移动工具栏的功能。

我会推荐#2,因为它限制了外部类可以做什么。

例如

-(void) hideToolbar:(BOOL)hidden
{
  toolbar.hidden = hidden;
}
于 2009-03-19T20:02:47.363 回答
2

问题是您不应该将其添加到self.navigationController.view; 您应该将其添加到self.view. 更正应该为您解决它。

于 2009-03-19T20:29:25.087 回答
0

您可以尝试在您不希望栏出现的视图控制器的初始化过程中添加以下行。

[self.navigationController setToolbarHidden:YES animated:NO];

F。

于 2011-01-02T13:11:09.000 回答
-1

安德鲁格兰特的答案就是你要找的。但是,您应该将方法重命名为

-(void) isToolbarHidden:(BOOL)hidden {
    toolbar.hidden = hidden;

}

在查看代码时,这种方式更有意义。

于 2009-11-21T17:07:45.097 回答