菜鸟教程小白 发表于 2022-12-12 16:42:59

ios - UISearchViewController 在演示期间隐藏标签栏


                                            <p><p>我使用 <code>UISearchViewController</code> 来控制我的应用程序的搜索内容。我看到有一个名为 <code>hidesNavigationBarDuringPresentation</code> 的属性用于处理导航栏的可见性,但我想做的是在演示期间隐藏标签栏,我找不到任何属性来执行此操作。</p>

<p>有什么解决办法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您是对的,没有用于显式显示和隐藏标签栏的属性,但您自己实现起来很容易:</p>

<ol>
<li>让你的 ViewController (不是<code>UISearchController</code>)实现<code>UISearchControllerDelegate</code>。</li>
<li>将您的 ViewController 分配给搜索 Controller 的 <code>delegate</code> 属性。</li>
<li>实现 <code>willPresentSearchController()</code>(或 <code>didPresentSearchController()</code>)和 <code>presentSearchController()</code> 来隐藏你的标签栏。 (前者在搜索栏自动显示时调用;后者在您手动显示时调用。)</li>
<li>实现 <code>willDismissSearchController()</code>(或 <code>didDismissSearchController</code>)再次显示。</li>
</ol>

<p>请注意,如果您的实现只是简单地切换搜索栏的 <code>hidden</code> 属性,那么该栏将不会以动画方式进出;你必须自己制作动画。</p>

<p>您的实现检查 <code>hidesNavigationBarDuringPresentation</code> 的值可能是个好主意,以便仅当导航栏显示和隐藏标签栏时。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UISearchViewController 在演示期间隐藏标签栏,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33199075/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33199075/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UISearchViewController 在演示期间隐藏标签栏