菜鸟教程小白 发表于 2022-12-13 04:14:27

ios - UIViewController 没有 NavigationBar,UIView 与状态栏重叠


                                            <p><p>我正在努力更新我的应用程序以支持 <code>iOS7</code>,但是我的一个 View 与状态栏重叠。请引用我的图片,</p>

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

<p>Apple 建议我们使用 <code>self.edgesForExtendedLayout = UIRectEdgeNone;</code> 来避免全屏布局。但是,当我们在 <code>UINavigationController</code> 中有 <code>UIViewController</code> 并且导航栏可见时,这是有效的。在我的应用程序中,我没有使用 <code>UINavigationController</code>。谁能帮我解决没有 NavigationBar 的 UIViewController 上的重叠问题。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>终于我自己找到了答案。我们需要在
<code>- (void) viewDidLayoutSubviews</code> 方法如下,</p>

<pre><code>- (void) viewDidLayoutSubviews
{
    ;
    if()
    {
      CGRect frame = self.view.frame;
      frame.origin.y = 20;
      frame.size.height = frame.size.height - 20;
      self.view.frame = frame;
    }
}
</code></pre>

<p>由于我在 <code>- (void) viewDidLayoutSubviews</code> 方法中设置框架,用户将看不到过渡。如果我们在 <code>-(void) viewDidload</code> 中偏移框架,用户将看到过渡。希望这会对某人有所帮助。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIViewController 没有 NavigationBar,UIView 与状态栏重叠,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18979636/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18979636/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIViewController 没有 NavigationBar,UIView 与状态栏重叠