重新定位标签栏问题

时间:2018-04-25 16:56:05

标签: swift uitabbar

对于我正在制作的应用,我使用两个标签栏,一个位于屏幕底部,另一个位于屏幕顶部的导航栏下方。将标签栏重新定位到顶部后,当我运行应用程序时,有一个黑色矩形,如果没有重新定位,它将在那里。我如何摆脱这个黑匣子?

enter image description here

以下是移动标签栏的代码:

import UIKit

class tabControllerDistrict: UITabBarController {
    @IBOutlet var bar: UITabBar!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidLayoutSubviews() {
        self.bar.frame = CGRect( x: 0, y: 0, width: 320, height: 50)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

1 个答案:

答案 0 :(得分:0)

凯文,

两件事......首先你的框架不正确。 y值必须为64,因为这是导航栏的高度。如果将其设置为0,则工具栏将显示在其后面。

其次,在viewDidLayoutSubviews()中设置框架不正确。根据Apple的说法:

  

当视图控制器视图的边界发生变化时,视图   调整其子视图的位置,然后系统调用它   方法

您没有更改超级视图,因此无需调用此功能。

只需在viewDidLoad()中设置栏的框架即可完美运作。