ios - 在 iOS 中,如何让弹出窗口自行关闭?

标签 ios

我有一个“设置”弹出窗口。我在该弹出窗口中有一个按钮(更多信息)。当用户单击该按钮时,我想打开另一个 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/

相关文章:

ios - NSURLSession,上传任务 - 获取传输的实际字节数

ios - UISegmented 控件 ObjectAtIndex 替换 swift

ios - TableViewController 中的多个 TableView

ios - 有没有一种方法可以使用 SDWebImage 将 1000 张图像预加载到缓存中,而无需在屏幕上实际显示它们?

ios - 如何以 swift 编程方式使用 Storyboard id 获取当前 View Controller (当前正在呈现)?

ios - 无法使用 Xcode 9.0 在模拟器上运行

ios - iOS7 中一致的后台获取?

ios - 在不停止设备声音/音乐的情况下录制视频

ios - 如何从 Firebase 发送 OTP(一次性密码)

IOS Swift 如何在 TableView 中单击时获取元素的值