检测选项卡栏上的双击,将导航控制器弹回到根视图

时间:2011-08-28 12:54:43

标签: iphone objective-c ios

我的iPhone应用程序有一个标签栏控制器,其中一个标签是导航控制器。当用户双击选项卡时,它会导致导航控制器弹回到根视图。

我的问题是导航层次结构中的某些视图在与该视图关联的navigationItem中有一个特定的条形按钮。所以我是根据推送到navigationController的视图以编程方式设置rightBarButtonItem。当双击发生时,它会弹回到根视图,但不会弹回到右键。该按钮似乎与弹出的具有自己特定按钮的最后一个视图保持一致。

所以我的根视图与不同视图的条形按钮不匹配。

有没有办法检测双击动作何时发生?在这种情况下,我可以将导航栏上的按钮重置为正确的按钮。我尝试在viewWillAppear / viewDidAppear / viewDidLoad方法中执行此操作,但是当标签栏双击时,似乎没有调用这些方法。

1 个答案:

答案 0 :(得分:1)

确保您始终拥有独立于视图可见方式的正确按钮(例如,通过弹出子视图控制器,或通过双击标签栏)的最安全方法是每次设置按钮视图变得可见。因此,在根视图控制器中:

-(void)viewWillAppear {
    //check button, change if desired
}