我遇到一个问题,我的 View 的阴影被同级 subview 遮挡。
这是我的 View 层次结构:
ViewController View
NavigationView with shadow
TabBar
ContainerView
ViewController view
ScrollBar
ContentView
Item view's that block the shadow
我的观点是这样的:
ContainerView 的背景色为自定义灰色,ContentView 的背景色为透明色。如果我不将 ContentView 的背景颜色设置为清除,则阴影根本不会出现。
因此,阴影在滚动的内容 View 上仍然可见。但是每当我滚动以使内容 View 的子项位于选项卡栏后面时,阴影就会完全消失。
我尝试将 4 个 NavigationView 添加到彼此中,然后将 TabBar 添加到最后一个 View 中,以便我的层次结构如下所示:
ViewController View
NavigationView with shadow
NavigationView with shadow 1
NavigationView with shadow 2
NavigationView with shadow 3
NavigationView with shadow 4
TabBar
ContainerView
ViewController view
ScrollBar
ContentView
Item view's that block the shadow
但这并没有帮助。
有解决办法吗?
最佳答案
所以你是说当你滚动时你的Tabbar
的影子是隐藏的。你的名片会隐藏那个影子。当你滚动时,会发生这种情况:
ViewController View
NavigationView with shadow
TabBar
ContainerView
ViewController view
ScrollBar
ContentView
Item view's that block the shadow
仅在 Storyboard中将此层次结构更改为:
ViewController View
|ContainerView
| ViewController view
| ScrollBar
| ContentView
| Item view's that block the shadow
|
|NavigationView with shadow
TabBar
并假设:Tabbar
位于 NavigationView(UIView)
内。 NavigationView(UIView)
有阴影。导航底部有 ContainerView(UIView)
。
所以当你滚动你的页面时:
这将是您的层次结构:
关于iOS 影子被 sibling 的 subview 挡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56377538/