我有一个设置弹出框。我在那个弹出窗口中有一个按钮(更多信息)。当用户单击该按钮时,我想调出另一个 View 并关闭弹出框。
如何通过弹出框内的“更多信息”按钮执行此操作?
当前我有一个处理按钮按下的函数:
- (IBAction)showFullVersionInfoid)sender
{
[self dismissPopoverAnimated:YES];
parent.settingsPopover = nil;
//need to show more Info...
}
父级持有对弹出框的引用“settingsPopover”,我想清除它。
Best Answer-推荐答案 strong>
您不想从弹出框 Controller 内部执行此操作。弹出框 Controller 应该只管理弹出框的内容,而不是显示/隐藏弹出框的方式和时间。
您只能在父 Controller 中执行此类操作。仅对已显示(并拥有它)的 Controller 隐藏弹出框。
您的问题实际上应该是:如何告诉父 Controller 用户在弹出框内执行了一些操作?
答案是:委托(delegate)。
定义一个委托(delegate),在您的父 Controller 中实现它,将它传递给您的弹出框并在 IBAction 中调用委托(delegate)方法。
关于ios - 在 iOS 中,如何让弹出框自行关闭?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9745407/
|