兄弟姐妹的子视图阻止了iOS的阴影

时间:2019-05-30 11:34:42

标签: ios

我有一个问题,我的视图的阴影被同级子视图阻止了。

这是我的视图层次结构的外观:

ViewController View
    NavigationView with shadow
       TabBar
    ContainerView
       ViewController view
          ScrollBar
             ContentView
                Item view's that block the shadow

我的视图如下:

enter image description here

ContainerView的背景色为自定义灰色,ContentView的背景色为纯色。如果我未将ContentView的背景色设置为清除,则阴影根本不会出现。

因此,阴影仍在滚动的内容视图上可见。但是只要我滚动以使内容视图的子项位于选项卡栏的后面,阴影就会完全消失。

我尝试将4个NavigationViews相互添加,然后将TabBar添加到最后一个视图中,以便我的层次结构如下:

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

但这没有帮助。

对此有解决方案吗?

1 个答案:

答案 0 :(得分:1)

因此,您说Tabbar的阴影在滚动时是隐藏的。而您的卡会隐藏该阴影。当您滚动时,会发生这种情况: Hidden Shadow

ViewController View
    NavigationView with shadow
       TabBar
    ContainerView
       ViewController view
          ScrollBar
             ContentView
                Item view's that block the shadow

仅将故事板中的此层次结构更改为:

ViewController View

  |ContainerView
  |   ViewController view
  |      ScrollBar
  |         ContentView
  |            Item view's that block the shadow
  |
  |NavigationView with shadow
      TabBar

并假定:TabbarNavigationView(UIView)内部。 NavigationView(UIView)有阴影。导航底部为ContainerView(UIView)

因此,当您滚动页面时:

Tabbar with shadow

这将是您的层次结构:

Top View