Ios 从popover向父对象发送消息

Ios 从popover向父对象发送消息,ios,uibutton,storyboard,parent,popover,Ios,Uibutton,Storyboard,Parent,Popover,我的iOS应用程序使用故事板 它有两个视图控制器: -主情节提要视图控制器 -和popover视图控制器,其中包含一些对象 我在主视图控制器上有一个按钮,每次运行应用程序时它都会创建程序: *CGRect buttonFrame = CGRectMake(10., 10., 120., 50.); oneButton = [UIButton buttonWithType:UIButtonTypeCustom]; [oneButton setImage:[UIImage imageNamed:

我的iOS应用程序使用故事板

它有两个视图控制器: -主情节提要视图控制器 -和popover视图控制器,其中包含一些对象

我在主视图控制器上有一个按钮,每次运行应用程序时它都会创建程序:

*CGRect buttonFrame = CGRectMake(10., 10., 120., 50.);

oneButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[oneButton setImage:[UIImage imageNamed:[NSString stringWithFormat:@"someImage.png", img]] forState:UIControlStateNormal];
[oneButton setTag:img];
[oneButton setFrame:buttonFrame];
[oneButton addTarget:self action:@selector(pressButton:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:oneButton];*
此按钮的操作显示我的popover视图,如下所示:

*- (void) pressButton:(id)sender {

popoverViewController *popoverFrame = [self.storyboard instantiateViewControllerWithIdentifier:@"myPopoverView"];

popoverWithObjects = [[UIPopoverController alloc] initWithContentViewController:popoverFrame];

[popoverWithObjects presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];

}*
从现在起,情况是,我不能向我的按钮发送任何消息或结果。 我想告诉我的程序按钮(注意-我只有这个按钮的发送者
动作:@selector(pressButton:)
),popover返回一些结果或popover中某个对象的某个动作发送任何东西(例如字符串) 或者换句话说,当我与popover视图上的任何对象(如按钮)交互时,我想更改父按钮标题标签使用NSNotificationCenter。 使用NSNotificationCenter。
您需要使用委托。看看我对这个类似问题的回答


编辑:链接到情节提要和代理模式用法。还有我对委托人的最初回答,你需要使用委托人。看看我对这个类似问题的回答


编辑:链接到情节提要和代理模式用法。我最初的回答是在主视图控制器上写一个函数来完成你想做的事情。然后从popover调用该函数?(即,使用“为segue做准备”向popover发送主视图控制器的id,然后使用该id从popover调用主视图上的函数)

在主视图控制器上编写一个函数来执行您想要的操作怎么样。然后从popover调用该函数?(即,使用“为segue做准备”向popover发送主视图控制器的id,然后使用该id从popover调用主视图上的函数)

你知道,我尝试过。我无法在storyboard应用程序中进行授权。。。无论如何,谢谢你的回答。对于链接,如何为父对象(在我的例子中是button)进行委托非常有用。我认为您对appDelegate和其他类的委托模式感到困惑。虽然在故事板下appDelegate不可用,但使用委托模式回调仍然是有效的技术。查看您的代码,我猜“popoverViewController”或“myPopoverView”是您的子视图控制器。您的主视图控制器(您有按钮的地方)是您的父视图控制器。有了这两条信息,您应该能够按照前面提到的其他答案的模式进行操作。我还编辑了上面的答案,在故事板上添加了另一个教程链接,说明了如何使用委托模式。@peter,有关设置委托和委托协议的详细说明,请参见我的答案-。你知道,我试过了。我无法在storyboard应用程序中进行授权。。。无论如何,谢谢你的回答。对于链接,如何为父对象(在我的例子中是button)进行委托非常有用。我认为您对appDelegate和其他类的委托模式感到困惑。虽然在故事板下appDelegate不可用,但使用委托模式回调仍然是有效的技术。查看您的代码,我猜“popoverViewController”或“myPopoverView”是您的子视图控制器。您的主视图控制器(您有按钮的地方)是您的父视图控制器。有了这两条信息,您应该能够按照前面提到的其他答案的模式进行操作。我还编辑了上面的答案,在故事板上添加了另一个教程链接,说明了如何使用委托模式。@peter,有关设置委托和委托协议的详细说明,请参见我的答案-。