代码之家  ›  专栏  ›  技术社区  ›  SergGr

同一容器中的子视图的字母不同

  •  2
  • SergGr  · 技术社区  · 16 年前

    我有一个类似的问题 Can you override a parent UIView's alpha value on one of its subviews?

    在某些情况下,我希望在当前视图上显示自定义半透明全屏覆盖视图。诀窍是我希望它在顶部有自定义导航栏和一些其他内容(让它成为标签),我希望导航栏不透明,即在原始视图上的所有内容上绘制。同时,我希望所有其他内容都是半透明的。我不想干扰主视图的导航栏,因为可能根本没有导航栏。我想创建一个带有导航栏和所有其他内容的单一容器视图,并将其添加到窗口中。但是,对于容器、导航栏和我能想到的内容,背景色和alpha的组合都不起作用。

    我发现的问题表明,如果容器视图不是不透明的,则不可能。我的案子 可能是 稍有不同,因为透明部分和不透明部分之间有一条简单的边界线。所以我还是希望有一些简单的方法。还是我必须单独管理不透明导航栏和透明内容视图?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Ole Begemann    16 年前

    如果我正确理解您的问题,您应该使容器视图完全透明(backgroundcolor=[uicolor clearcolor]),并将不透明导航栏和半不透明内容视图添加到容器视图中。

        2
  •  0
  •   TechZen    16 年前

    编辑:忽略此答案。我误解了这个问题。

    上一篇文章的答案是错误的(我理解这个问题),每个视图的alpha是独立设置的。在添加每个视图、在接口生成器中或从NIB加载后,需要将alpha调整到所需的级别。

    如果不想覆盖导航栏,可以(1)将覆盖视图的框架放置在导航栏下方,或者(2)在覆盖视图中创建两个同级视图,一个视图在导航栏上是透明的,另一个视图具有半透明元素。

    推荐文章