菜鸟教程小白 发表于 2022-12-12 19:43:59

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


                                            <p><p>我有一个设置弹出框。我在那个弹出窗口中有一个按钮(更多信息)。当用户单击该按钮时,我想调出另一个 View 并关闭弹出框。</p>

<p>如何通过弹出框内的“更多信息”按钮执行此操作?</p>

<p>当前我有一个处理按钮按下的函数:</p>

<pre><code> - (IBAction)showFullVersionInfo:(id)sender
   {
   ;
   parent.settingsPopover = nil;

   //need to show more Info...

   }
</code></pre>

<p>父级持有对弹出框的引用“settingsPopover”,我想清除它。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您不想从弹出框 Controller 内部执行此操作。弹出框 Controller 应该只管理弹出框的内容,而不是显示/隐藏弹出框的方式和时间。</p>

<p>您只能在父 Controller 中执行此类操作。仅对已显示(并拥有它)的 Controller 隐藏弹出框。</p>

<p>您的问题实际上应该是:如何告诉父 Controller 用户在弹出框内执行了一些操作?</p>

<p>答案是:委托(delegate)。
定义一个委托(delegate),在您的父 Controller 中实现它,将它传递给您的弹出框并在 IBAction 中调用委托(delegate)方法。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 iOS 中,如何让弹出框自行关闭?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/9745407/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/9745407/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 iOS 中,如何让弹出框自行关闭?