UIViewControllerWrapperView 背景色的问题
chenofgit opened this issue · 3 comments
chenofgit commented
UIViewControllerWrapperView 刚开始是clearcolor,
push某一个控制器后
UIViewControllerWrapperView背景变成白色不透明了
emmet7life commented
假设你的控制器是A,那么你的A是不是包装了一个导航栏控制器B,然后通过设置B的转场动画样式来模态弹出B的,那么在UIViewController+KMNavigationBarTransition.m
中的km_viewWillLayoutSubviews
这个方法中会把背景修改成白色:
[tc containerView].backgroundColor = [self.navigationController km_containerViewBackgroundColor];
建议解决方案有两个:
-
把你的A的modalPresentationStyle也设置一个值,只要不是none就行;
-
在A的viewWillLayoutSubviews写下下面这段代码:
-- Swift
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if let tc = transitionCoordinator,
let bgColor = tc.containerView.backgroundColor, bgColor != .clear {
tc.containerView.backgroundColor = .clear
}
}
League2EB commented
該問題仍然沒有解決
@chenofgit 您解決了嗎?
MoZhouqi commented
@chenofgit @League2EB 你们可以重写 km_containerViewBackgroundColor
方法