首页 文章

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

提问于
浏览
1

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

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

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

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

1 回答

  • 1

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

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

相关问题