【问题标题】:Swift Placing TabBar on top of the screen not working in iOS 11Swift将TabBar放在屏幕顶部在iOS 11中不起作用
【发布时间】:2017-11-16 11:16:12
【问题描述】:

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

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

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

真不知道iOS11有什么变化
但是
如何在 iOS 11 上移动标签栏

【问题讨论】:

  • 是的,你是对的。我已经应用了许多补丁来更改 TabBar 的位置但没有一个补丁起作用。我想我们会去自定义 TabBar。快乐编码! :)

标签: ios swift position uitabbarcontroller tabbar


【解决方案1】:

经过这么多努力想出了解决方案。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多