菜鸟教程小白 发表于 2022-12-12 21:36:39

iphone - 如何检查并确定 Storyboard 中当前显示的 View Controller ?


                                            <p><p>如果应用程序之前在后台,当调用 <code>applicationDidBecomeActive</code> 时,我如何选择刷新用户界面? </p>

<p>我希望当前 ViewController 始终是 Storyboard中的初始 ViewController 。我无法在我的主 <code>AppDelegate.m</code> 中获得指向 Storyboard的指针。</p>

<p>如何检查和确定当前显示的是哪个 ViewController ?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您只是想要一个指向 Storyboard的指针,那么您可以这样做:</p>

<pre><code>UIStoryboard *sb = [[ rootViewController] storyboard];
</code></pre>

<p>其中 <code>rootViewController</code> 实际上是 Storyboard 的初始 ViewController 。如果您希望此 Controller 成为当前 Controller (如您所说),那么您很好,但是如果您想实际更新您的 UI,那么我想您可以从委托(delegate)(在 <code> applicationDidBecomeActive</code>),并注册每个可能有兴趣捕获它的 Controller ,以便它可以更新其 UI(或者只是添加 <code>self</code> 作为 <code>UIApplicationDidBecomeActiveNotification</code> 的观察者来捕获与您的代表捕获的相同...)。</p>

<p>PS。如果您的 <code>rootViewController</code> 是 <code>UINavigationController</code> 您可以像这样获得当前显示的 Controller :</p>

<pre><code>id currentController = [[ rootViewController] visibleViewController];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 如何检查并确定 Storyboard 中当前显示的 ViewController ?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11203585/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11203585/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 如何检查并确定 Storyboard 中当前显示的 View Controller ?