如何从子视图的View Controller访问导航栏?

时间:2012-01-24 11:04:09

标签: objective-c ios

我有一个视图控制器,我在其中选择一些数据到一个数组,然后可选地点击一个按钮我将TableView中的数据作为子视图添加到上一个视图中并带有翻转动画。

现在,我可以从第一个视图中选择的数组中删除数据并传递给此数据。

现在我的条件是导航栏右侧有一个按钮,在其控制器上推送了上一个视图。

现在需要禁用该按钮,直到数组中至少有X个元素为止。 所以当我添加数据时在我之前的视图中,我一直检查数组,一旦它超过所需的计数,我就启用了按钮。

现在在另一个视图中,这是一个带动画的TableView, 每当我删除数据时,我需要在低于数字X时再次禁用该按钮。

如何访问此子视图控制器中的navigationBar按钮? 我应该将第一个视图Controller设置为下一个的委托吗?

3 个答案:

答案 0 :(得分:1)

如果您的viewController在UINavigationViewController中,您可以使用self.navigationItem.leftBarButtonItemself.navigationItem.rightBarButtonItem设置navigationBar按钮。

答案 1 :(得分:0)

尝试使用superView属性或循环遍历所有推送的ViewController并检查它是否是以前的VC。然后启用或禁用按钮

答案 2 :(得分:0)

我的意见是你可以在子视图中创建一个uinavigationController对象,并从父视图(你有导航控制器对象的地方)中分配它。然后,您可以在子视图中访问导航控制器。