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

时间:2017-11-16 11:16:12

标签: ios swift position uitabbarcontroller tabbar

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

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

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

真的不知道iOS11中发生了什么变化 但
如何为iOS 11移动tabbar

1 个答案:

答案 0 :(得分:1)

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

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

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