我在转到新页面时添加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
的原始方法?
提前致谢。
答案 0 :(得分:2)
有两种方法:
创建您自己的后退按钮(类似于原生)和选择器方法,并将其分配给按钮:
UIBarButtonItem *addButton = [[[UIBarButtonItem alloc] initWithTitle:@"BackToVcA" style:UIBarButtonItemStyleBordered target:self action:@selector(addAction:)] autorelease]; self.navigationItem.rightBarButtonItem = addButton;
使用UIViewController生命周期方法viewWillDisappear
或viewDidDisappear
。
希望这是你正在寻找的。 p>
答案 1 :(得分:0)
如果您想延迟过渡到第一个视图3秒,
只需添加,
第二种观点的[NSThread sleepForTimeInterval:3.0];
到viewWillDisappear
方法。
如果要在目标C中执行方法调用,那么
[self performSelector:@selector(methodName) withObject:self afterDelay:3.0];
应该工作正常。分享代码以获取更多信息。