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