覆盖UIViews

时间:2009-05-19 01:33:31

标签: iphone user-interface uiview transparency overlay

为iPhone叠加两层UIView的合适方法是什么?底层视图应该是活动的,直到按下按钮,然后另一个UIView应该覆盖 一切都以透明的方式。 我找到了模态视图控制器,但它们只是交换UI视图但不覆盖。

提前致谢。

克里斯

2 个答案:

答案 0 :(得分:5)

您应该使用[existingView addSubview:newView];向现有视图添加视图。 newView将出现在existingView的顶部。因此,从概念上讲,您可以在existingView上创建一个按钮,将其连接到调用如下方法的IBAction:

CGRect newSize = CGRectMake(0.0f ,0.0f, 320.f, 400.0f);
UIView *newView = [[UIView alloc] initWithFrame:newSize];
[existingView addSubview:newView];
[newView release];

这会在现有视图之上放置一个newView。

答案 1 :(得分:2)

以下是一个简单的3线ARC兼容UIView的透明覆盖

_overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
  _overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
    [self.view addSubview:_overlayView];