0

我已经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,它将运行Timer3 秒。然后转回第一个视图。

我搜索了一些信息,但它只覆盖了backBarButtonItem.

如何添加Timerin 方法backBarButtonItem但保留原始方法backBarButtonItem

提前致谢。

4

2 回答 2

2

有两种方法:

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

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

希望这就是你要找的。

于 2014-06-20T09:15:51.510 回答
0
  • 如果你想延迟到第一个视图的转换 3 秒,只需添加, [NSThread sleepForTimeInterval:3.0];viewWillDisappear第二个视图的方法。

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

于 2014-06-20T09:12:39.020 回答