顶级UIView无法正常工作的透明度

时间:2011-03-09 13:32:34

标签: iphone uiview uinavigationcontroller

UINavigationController我有一个UITableView。我使用设置按钮允许用户更改某些表设置。

点击设置按钮后,我将新视图推送到导航堆栈。

此新视图具有以下视图结构

- > UIView1 411 x 320 px(backgroundColor应该是透明的)!!!!

- >> UIView2 270 x 300 px(backgroundColor grey)

--->>>屏幕元素

我的问题是我希望UIView1透明,以便后面的信息仍然可见。我所有的尝试,例如

  • 将bg颜色设置为透明

  • 更改Alpha值

  • 删除不透明指示符

到目前为止失败了。

任何线索?非常感谢!

1 个答案:

答案 0 :(得分:1)

UINavigationController的设计不允许“隐藏”视图控制器仍在当前可见视图控制器下显示。 (iOS框架实际上可以卸载导航堆栈上不是当前顶级项目的视图控制器的视图!)

因此,如果您尝试这样做,它将无法正常工作,或者您将遇到问题。 (对于iPhone上的模态视图控制器也是如此 - 即使您使背景透明,您正在推动的视图也会消失。)

如果你真的希望旧的UI仍然可以在下面看到,请考虑将新的整个UI呈现为放置在当前视图上的UIView(即执行[existingView addSubview:myNewView])。