屏幕顶部的Swift Placing TabBar无法在iOS 11中运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了屏幕顶部的Swift Placing TabBar无法在iOS 11中运行相关的知识,希望对你有一定的参考价值。

在UITabBarController中,我使用下面的代码将标签栏放在屏幕顶部:

self.tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)

这在ios 10上完美运行。但是当在iOS11上安装相同的应用程序时。它只放在底部而不是向上移动。

真的不知道iOS 11中有什么变化 但 如何为iOS 11移动tabbar

答案

经过这么多努力找到了解决方案。

我将tabBar.frame代码放在viewDidAppear中,该代码适用于iOS 10及更低版本,但是为了支持iOS 11,需要放在viewDidLayoutSubviews中,如下所示,这实际上是正确的方法:

override func viewDidLayoutSubviews()
{
    tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)
}

以上是关于屏幕顶部的Swift Placing TabBar无法在iOS 11中运行的主要内容,如果未能解决你的问题,请参考以下文章

添加 TabBar 推送单元格并向上查看 [Swift]

将 swift storyboard 上的所有控件从屏幕顶部向下拖动,但运行时它们又回到屏幕顶部

Swift - 如何让分段控制锁定在屏幕顶部

屏幕适配1(edgesForExtendedLayoutextendedLayoutIncludesOpaqueBarstranslucentautomaticallyAdjustsScroll(代码

iOS 7标签栏显示在错误的位置

出现键盘时移动文本字段会覆盖(Swift)中的顶部文本字段