按下时隐藏底部栏 - 动画冻结在Iphone X上

Hiding Bottom Bar When Pushed - Animation freezing on Iphone X

提问人:dranieri 提问时间:3/15/2018 更新时间:3/16/2018 访问量:195

问:

我遇到了一个我一辈子都无法解决的问题。该问题仅发生在iPhone X上。我添加了一个小视频,因为它很难准确解释发生了什么。

我还添加了情节提要的屏幕截图,以便您可以查看流程。

当标签栏被隐藏时,几乎都遇到了冻结。它只发生在我们访问类别 VC 时(它使用 segue 以模式呈现,它也嵌入在导航控制器中。

** 我还是 iOS 开发的新手,所以如果我做错了什么,请随时分享:)

视频:https://youtu.be/HC14zFxh-HM

发送给读取器的代码:

@IBAction func sendToReader(_ sender: Any) {
    let myVC = storyboard?.instantiateViewController(withIdentifier: "ReaderRootVC") as! ReaderRootVC
    myVC.book = self.book
    myVC.hidesBottomBarWhenPushed = true
    navigationController?.pushViewController(myVC, animated: true)
}

关闭类别 VC 的代码:

@IBAction func navigationCancelBtnPressed(_ sender: Any) {
    self.navigationController?.dismiss(animated: false, completion: nil)
}

脚本:enter image description here

Swift UITabbarController iPhone-X XCode9.2

评论

0赞 Alwin Lazar 3/16/2018
您希望在推送到另一个 VC 时隐藏 UITabBar。这是对的吗?
0赞 dranieri 3/16/2018
正确,除了我首先打开类别 VC 时,它似乎正在工作。查看 you tube 视频,你会看到。

答:

1赞 Alwin Lazar 3/16/2018 #1

在 ReaderRootVC 中,

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        // Hide the Tab Bar
        self.tabBarController?.tabBar.isHidden = true
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)

        // Show the Tab Bar
        self.tabBarController?.tabBar.isHidden = false
    }