1

我是 iOS 和 Swift 的新手。我目前正在开发一个应用程序,我需要在中心显示一个带有大按钮的标签栏。鉴于时间限制,我所做的是我在窗口中创建了一个按钮,并以编程方式将其放置在选项卡栏的顶部。现在,当我导航到或离开此屏幕时,我分别在 viewDidAppear 和 viewDidDisappear 中添加/删除此按钮。这确保了当标签栏消失时,按钮也不会显示,同样,当标签栏显示时,按钮也会添加到顶部。但是,由于添加和删除发生在 viewDidAppear 和 viewDidDisappear 中,因此在呈现和删除按钮时会有轻微的延迟,因此会看到短暂的 flickr。在 viewWillAppear 和 viewWillDisappear 中做同样的事情根本不起作用。按钮没有 t 显示或隐藏在“意志”方法中。有人可以建议这里可能会出现什么问题吗?提前致谢。我附上了一个屏幕截图,以大致了解它的外观。

需要的用户界面

4

1 回答 1

0

添加按钮的正确方法是在 UItabBarController 的视图中添加它,而不是在 UIWindow 中添加

class DashBoardViewController: UITabBarController {

    let button:UIButton = {
        let view = UIButton(frame: .zero)
        view.backgroundColor = .blue
        return view
    }()

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

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        button.center = tabBar.center
    }

    private func initView() {
        button.center = tabBar.center
        view.addSubview(button)
    }
}
于 2018-06-22T04:26:47.730 回答