Swift 将 TabBar 置于屏幕顶部在 iOS 11 中不起作用
Swift Placing TabBar on top of the screen not working in iOS 11
在 UITabBarController 中,我使用以下代码将标签栏放在屏幕顶部:
self.tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)
这在 iOS 10 上完美运行。
但是当相同的应用程序安装在 iOS11 上时。
只放在底部,不向上移动。
真的不知道 iOS11
发生了什么变化
但是
如何将标签栏向上移动 iOS 11
经过如此多的努力找到了解决方案。
我将 tabBar.frame 代码放在 viewDidAppear 中,它适用于 iOS 10 及以下版本,但要支持 iOS 11,需要放在 viewDidLayoutSubviews 中,如下所示,这实际上是正确的方法:
override func viewDidLayoutSubviews()
{
tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)
}
在 UITabBarController 中,我使用以下代码将标签栏放在屏幕顶部:
self.tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)
这在 iOS 10 上完美运行。 但是当相同的应用程序安装在 iOS11 上时。 只放在底部,不向上移动。
真的不知道 iOS11
发生了什么变化
但是
如何将标签栏向上移动 iOS 11
经过如此多的努力找到了解决方案。
我将 tabBar.frame 代码放在 viewDidAppear 中,它适用于 iOS 10 及以下版本,但要支持 iOS 11,需要放在 viewDidLayoutSubviews 中,如下所示,这实际上是正确的方法:
override func viewDidLayoutSubviews()
{
tabBar.frame = CGRectMake(0,0,UIScreen.mainScreen().bounds.width,50)
}