使视图的一部分透明/覆盖而其余部分不透明

时间:2009-07-16 19:20:22

标签: iphone

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

对于我的观点,我希望显示一个UITextField和按钮,而屏幕的其余部分是灰色的,其余的现有内容为灰色且没有SearchBar。

我尝试的事情:

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

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

  3. 继续两个子视图 在父UIView中,设置 父视图的alpha值为1.0和 那么空白视图就有了 α水平为0.5,它仍然没有 右。

  4. 那么实现这个目标的好方法是什么?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我认为#3将是正确的方法。您确定父级和叠加层视图的opaque属性设置为NO吗?