【问题标题】:Making part of the view transparent/overlay while the rest isn't使部分视图透明/覆盖,而其余部分不透明
【发布时间】:2009-07-16 19:20:21
【问题描述】:

我想显示一个覆盖视图,类似于您在执行“在联系人应用程序中搜索”时看到的内容,其中 SearchBar 在工具栏下方可见,而灰色覆盖层覆盖了下面的所有内容。

在我看来,我希望 UITextField 和按钮可见,而屏幕的其余部分为灰色,其余现有内容为灰色且没有 SearchBar。

我尝试过的事情:

  1. 我可以拥有一个包含 UITextField 和按钮都带有 视图的 alpha 级别设置为 0.5。但 这会产生灰色的外观 一切,包括 UITextField 和按钮,这不是 我想要达到的目标。

  2. 然后我尝试了两个子视图 一个父 UIView,一个子视图 包含控件,而 另一个是空白的。设置父级 UIView 有 0.5 alpha -> 这是 也不对。

  3. 继续使用两个子视图 在父 UIView 中,设置 父视图的 alpha 为 1.0 和 然后空白视图有一个 0.5的alpha水平,它仍然不是 对。

那么有什么好的方法来实现呢?

【问题讨论】:

    标签: iphone


    【解决方案1】:

    选项 3 是这样做的方法,但请确保您以正确的顺序添加它们,即透明视图作为第一个子视图添加到父视图,然后是文本字段。这样文本字段就在顶部。

    另外,不要忘记将父视图的backgroundColor 属性设置为[UIColor clearColor]

    【讨论】:

    • 感谢它与控制器一起使用,并将主透明视图添加为最顶层。
    【解决方案2】:

    我原以为#3 是正确的做法。您确定将父视图和覆盖视图的opaque 属性设置为NO

    【讨论】:

    • 父 UIView alpha 设置为 1.0,不透明:未选中。空白子视图 alpha 设置为 0.5,不透明:选中。当您说“覆盖”时,您指的是空白子视图还是其他内容?
    • 是的,我的意思是“空白”叠加层(大概它不是真正的空白,而是纯黑色)。另外,请遵循 Ramin 的建议并确保父视图的 backgroundColor 是 [UIColor clearColor]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2016-09-27
    • 2011-03-14
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多