iOS全面屏设备pop的小bug

带Tabbar的页面上push一个viewController,再pop回来原页面会跳动。
注意viewController.hidesBottomBarWhenPushed = true


push代码.png

演示.gif

解决方案很简单

override func viewDidLayoutSubviews() {
        if #available(iOS 11.0, *) {
            let height = self.view.safeAreaInsets.bottom
            self.collectionView.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height - height)
        } else {
            // Fallback on earlier versions
        }
    }

复写viewDidLayoutSubviews,利用safeAreaInsets设置frame就行啦。

你可能感兴趣的:(iOS全面屏设备pop的小bug)