Ios 交换视图并触发另一个类中的方法
我正在使用故事板,我希望当用户单击某个按钮(SwapViewAndTriggerMethod)时,视图会更改为另一个由第二个视图控制器定义的按钮(SecondView),然后调用SecondView.m中的某个方法(MyMethod)。我正在使用下面的代码,这成功地将我带到了另一个视图……但是MyMethod没有被调用。请问我怎样才能做到这一点?干杯Ios 交换视图并触发另一个类中的方法,ios,Ios,我正在使用故事板,我希望当用户单击某个按钮(SwapViewAndTriggerMethod)时,视图会更改为另一个由第二个视图控制器定义的按钮(SecondView),然后调用SecondView.m中的某个方法(MyMethod)。我正在使用下面的代码,这成功地将我带到了另一个视图……但是MyMethod没有被调用。请问我怎样才能做到这一点?干杯 - (IBAction) SwapViewAndTriggerMethod:(id)sender { UIViewController *cont
- (IBAction) SwapViewAndTriggerMethod:(id)sender
{
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondView_storyboard"];
[self presentViewController:controller animated:YES completion:nil];
[instanceOfGS2controlller MyMethod:nil];
}
这是我得到的错误:
警告:试图在其视图不在窗口层次结构中的2.一般来说,你可以使用NSNotificationCenter在你的应用程序中发布消息,但我不确定这是你在这里的最佳选择如果你在调用另一个视图的方法时调用了该方法,你有两个选择:(1)使函数可公开访问,或(2)使用-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)发送方和调用视图中的方法时未加载。您不能从另一个控制器调用呈现选择器视图控制器的方法,因为正如错误所述,SecondView\u ViewController的视图尚未在窗口层次结构中。您可以在SwapViewAndTriggerMethod:中设置一个标志,并在SwapViewAndTriggerMethod:的视图中使用该标志来显示选择器
- (IBAction) SwapViewAndTriggerMethod:(id)sender {
SecondView_ViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondView_storyboard"];
[self presentViewController:controller animated:YES completion:nil];
controller.presentPicker = YES; // presentPicker is a BOOL property that you need to add to SecondView_ViewController
}
然后,在SecondView\u ViewController中执行此操作
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (self.presentPicker)
// present your picker here
self.presentPicker = NO;
}
情节提要中的视图控制器是否具有指向该对象/视图控制器实例的标识符?另外,当分配
controller
s类型时,我建议将其设置为UIViewController
s子类名称,而不仅仅是UIViewController
这是我得到的错误:警告:尝试在