ios - 添加标签栏 Controller 时如何防止 subview 被切断?

标签 ios swift uiview uicontainerview tabbarcontroller

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

但是,当我添加一个标签栏 Controller 时,绿色 View 被切断,如下所示。 image2

我尝试了以下代码,以便绿色 View 不会被切断。但它没有用。

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

问题似乎不在容器 View 。因为当 tab bar controller 添加时,green view 开始被切断。 添加标签栏 Controller 时,如何防止绿色 View 被切断?

最佳答案

问题是您的 UITabBarController 中的 UITransitionView 剪辑了所有 subview 。如果从 TabBarController 的每个 subview 中删除 clipsSubview,就可以轻松解决此问题。我使用自定义 TabBarController 进行此操作。这是我的代码

class CustomTabBarViewController: UITabBarController {


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

}

关于ios - 添加标签栏 Controller 时如何防止 subview 被切断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761000/

相关文章:

ios - 如何使用自动布局更改uiview的高度?

swift - 在 View 上添加约束

objective-c - UITableViewController 和 UITextField 键盘

ios - 展开 Segue 以保存到 Collection View 中

swift - 调用协议(protocol)静态方法时无法推断泛型参数

ios - 界面生成器 : What are the UIView's Layout iOS 6/7 Deltas for?

ios - CALayer vs CGContext,哪个是更好的设计方法?

ios - CloudKit - partialFailure 和 limitExceeded

ios - Swift - 自动约束 ScrollView 中的项目

ios - CAShapeLayer路径未显示