添加标签栏控制器时,如何防止子视图被切除?

时间:2018-08-09 07:20:56

标签: ios swift uiview uicontainerview tabbarcontroller

我希望绿色视图容器视图向前移动,如下所示。 image1

但是,当我添加标签栏控制器时,绿色视图会被如下切除。 image2

我尝试了以下代码,以便不会切断绿色视图。但这没用。

containerView.clipsToBounds = false
containerView.layer.zPosition = 100
self.view.bringSubview(toFront: containerView)

问题似乎不在容器视图中。因为添加标签栏控制器后,绿色视图开始被切断。 添加标签栏控制器时,如何防止绿色视图被切断?

1 个答案:

答案 0 :(得分:2)

问题是UITabBarController中的UITransitionView会剪辑所有子视图。如果从TabBarController中的每个子视图中删除clipsSubview,则可以轻松解决此问题。我用自定义TabBarController做到这一点。这是我的代码

class CustomTabBarViewController: UITabBarController {


    override func viewDidLoad() {
        super.viewDidLoad()
        for item in self.view.subviews{
            item.clipsToBounds = false
        }
        self.view.clipsToBounds = false
    }

}