菜鸟教程小白 发表于 2022-12-12 22:44:26

ios - UINavigationBar 调整大小并覆盖 UIViews


                                            <p><p>我们从 Storyboard 中实例化一个 UINavigationController 和一个 UIViewController,如下所示:</p>

<pre><code>UIStoryboard *sb = ;
UIViewController *vc = ;
UIViewController *topVC = ((UINavigationController *) vc).topViewController;

vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
;
</code></pre>

<p> <img src="/image/VoSvP.png" alt="enter image description here"/> </p>

<p>从这里看,<code>UIViewController</code> 似乎没有占据整个 <code>UIWindow</code>,它看起来像在 ios6 上一样下降了 20 分。如果仔细观察,您甚至可以在左上角看到底层 <code>UISplitViewController</code> 的分隔线。</p>

<p>问题是,当用户在 <code>UIViewController</code> 上的 <code>UITableView</code> 上点击一个选项时,我们调用 <code></code>推送一个新的 <code>UIViewController</code>,但是当他们旋转它时,它看起来像这样:</p>

<p> <img src="/image/JoiCb.png" alt="enter image description here"/> </p>

<p>至少可以说有点局促。 <strong>但是现在,当我们回到第一个 <code>UIViewController</code> 并旋转时,我们得到了这个</strong>:</p>

<p> <img src="/image/fFQq0.png" alt="enter image description here"/> </p>

<p>问题是,现在已经覆盖了搜索栏。你会注意到你也看不到底层的 <code>UISplitViewController</code> 了。如您所见,现在 <code>UINavigationBar</code> 似乎覆盖了其他 20 pts,并且高度更大。</p>

<p>我通过调用 <code>self.edgesForExtendedLayout = UIRectEdgeNone;</code> 来“解决”了这个问题,但这只是将 <code>UIView</code> 推得很远。我还玩弄了添加 <code></code> 但什么也没有。在 Apple 的 HIG 中,它指出导航栏不应该改变它在 iPad 上的高度,但是当我退出框架时,这发生在我身上。</p>

<p>有什么想法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您好,您可以使用这些属性创建 ViewController
<img src="/image/78qMd.png" alt="enter image description here"/> </p>

<p>并在应用程序窗口上添加模态</p>

<pre><code>;
</code></pre>

<p>我认为您的问题将由此解决。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UINavigationBar 调整大小并覆盖 UIViews,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24070281/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24070281/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UINavigationBar 调整大小并覆盖 UIViews