Ios 当用户单击“时触发事件”&书信电报;“后退”;按钮
我有相当简单的Ios 当用户单击“时触发事件”&书信电报;“后退”;按钮,ios,ios7,rubymotion,Ios,Ios7,Rubymotion,我有相当简单的UINavigationControllers,有两个屏幕:屏幕1和屏幕2 当用户打开screen2并单击
UINavigationControllers
,有两个屏幕:屏幕1和屏幕2
当用户打开screen2
并单击
时,我想在显示screen1
之前触发一个事件——基本上我想从服务器获取screen1的数据
有办法做到这一点吗 如果您使用的是故事板,您可以在中处理背部动作
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
只有在
视图中执行此操作,才会消失。不幸的是,当您在当前屏幕上显示新屏幕时,它也会被触发,而不仅仅是当您点击后退按钮时。但是,您可以添加一个自定义的后退按钮,并将代码放在它的操作方法中。操作完成后,调用[self.navigationController popViewControllerAnimated:YES]
-(void)viewWillDisappear:(BOOL)animated{
if (![self.navigationController.viewControllers containsObject:self]) {
NSLog(@"Back Event");
}
}
你可以用两种方法
创建自定义按钮并设置事件
当用户弹出屏幕时,检查视图将消失
在viewDidLoad
中执行以下操作:
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(goBack:)];
self.navigationItem.leftBarButtonItem = backBarButton;
实施方法goBack
:
- (void)goBack:(id)sender {
//Do something
[self.navigationController popViewControllerAnimated:YES];
}
希望这有帮助:)