如何获取navigationItem的backBarButtonItem方法?

时间:2014-06-20 09:07:05

标签: ios objective-c backbarbuttonitem

我在转到新页面时添加navigationItem.backBarButtonItem,如下面的代码,但我想添加Timer以更改某些图片,然后再转到第一个backBarButtonItem

    UIViewController *ReconnectView = [[AITReconnectView alloc] initWithNibName:@"AITReconnectView" bundle:nil] ;      
    ReconnectView.edgesForExtendedLayout = UIRectEdgeNone;          
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStyleBordered target:nil action:nil];               
   [self.navigationController pushViewController:ReconnectView animated:YES];

例如:当我点击backBarButtonItem时,它会运行Timer 3秒钟。然后转回第一个视图。

我搜索了一些信息,但它只覆盖了backBarButtonItem的新方法。

如何在Timer的方法中添加backBarButtonItem,但保留backBarButtonItem的原始方法?

提前致谢。

2 个答案:

答案 0 :(得分:2)

有两种方法:

  1. 创建您自己的后退按钮(类似于原生)和选择器方法,并将其分配给按钮:

    UIBarButtonItem *addButton = [[[UIBarButtonItem alloc] initWithTitle:@"BackToVcA"
                                                                   style:UIBarButtonItemStyleBordered
                                                                  target:self
                                                                  action:@selector(addAction:)] autorelease];
    
    self.navigationItem.rightBarButtonItem = addButton;
    
  2. 使用UIViewController生命周期方法viewWillDisappearviewDidDisappear

  3. 希望这是你正在寻找的。

答案 1 :(得分:0)

  • 如果您想延迟过渡到第一个视图3秒, 只需添加,    第二种观点的[NSThread sleepForTimeInterval:3.0];viewWillDisappear方法。

  • 如果要在目标C中执行方法调用,那么     [self performSelector:@selector(methodName) withObject:self afterDelay:3.0]; 应该工作正常。分享代码以获取更多信息。