[self back]后的调用函数
Call function after [self back]
我需要从一个 ViewController 传递到第二个,只需调用 [self back] 并打开 alertView after back 函数。可能吗?
编辑:
第一ViewController:
- (void)didPressBuyPackageButton:(UIButton *)sender
{
UIButton *button = (UIButton *)sender;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title "
message:@"Message "
delegate:self
cancelButtonTitle:@"Close"
otherButtonTitles:@"Koupit",@"Obnovit koupu", nil];
switch (button.tag) {
case 1: // Texty pre balicek c. 1 (Rocnik 2 - Balicek 1)
alertView.title = @"Ročník 2";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 1;
break;
case 2:
alertView.title = @"Ročník 2 - Balíček 2";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 2;
break;
case 3:
alertView.title = @"Ročník 3 - Balíček 1";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 3;
break;
default:
break;
}
[alertView show];
}
我需要的是从 SECOND_ViewController 返回的调用函数,它显示 FirstViewController 并调用函数 "didPressBuyPackageButton" ...
如果您处于第二个视图控制器的上下文中,则可以从中调用 dismissViewControllerAnimated:completion:
以转换回第一个视图控制器。它为您提供了一个完成回调,您可以使用它来显示 UIAlertView
.
编辑:
- (void)back {
// get a reference to presentingViewController
FirstViewController *presentingViewController = (FirstViewController *)self.presentingViewController;
// dismiss the second view controller
[self dismissViewControllerAnimated:YES completion: ^{
// show the alert
[presentingViewController showAlert];
}];
}
您需要从第二个视图控制器调用 back
。
另一种方法是使用委托:第一个视图控制器实例化第二个视图控制器并将自己设置为第二个视图控制器的委托。在 back
(第二个视图控制器)中,只需通知您的委托(第一个视图控制器)它(第二个视图控制器)已完成并关闭它。使用完成块来处理动画的结束。同样的技巧。
我需要从一个 ViewController 传递到第二个,只需调用 [self back] 并打开 alertView after back 函数。可能吗?
编辑:
第一ViewController:
- (void)didPressBuyPackageButton:(UIButton *)sender
{
UIButton *button = (UIButton *)sender;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title "
message:@"Message "
delegate:self
cancelButtonTitle:@"Close"
otherButtonTitles:@"Koupit",@"Obnovit koupu", nil];
switch (button.tag) {
case 1: // Texty pre balicek c. 1 (Rocnik 2 - Balicek 1)
alertView.title = @"Ročník 2";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 1;
break;
case 2:
alertView.title = @"Ročník 2 - Balíček 2";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 2;
break;
case 3:
alertView.title = @"Ročník 3 - Balíček 1";
alertView.message = @"Tu bude popis čo balíček obsahuje.";
alertView.tag = 3;
break;
default:
break;
}
[alertView show];
}
我需要的是从 SECOND_ViewController 返回的调用函数,它显示 FirstViewController 并调用函数 "didPressBuyPackageButton" ...
如果您处于第二个视图控制器的上下文中,则可以从中调用 dismissViewControllerAnimated:completion:
以转换回第一个视图控制器。它为您提供了一个完成回调,您可以使用它来显示 UIAlertView
.
编辑:
- (void)back {
// get a reference to presentingViewController
FirstViewController *presentingViewController = (FirstViewController *)self.presentingViewController;
// dismiss the second view controller
[self dismissViewControllerAnimated:YES completion: ^{
// show the alert
[presentingViewController showAlert];
}];
}
您需要从第二个视图控制器调用 back
。
另一种方法是使用委托:第一个视图控制器实例化第二个视图控制器并将自己设置为第二个视图控制器的委托。在 back
(第二个视图控制器)中,只需通知您的委托(第一个视图控制器)它(第二个视图控制器)已完成并关闭它。使用完成块来处理动画的结束。同样的技巧。