Ios为背景视图添加了颜色alpha



我在iPad应用程序中添加了一个弹出选择器,当它弹出时,我希望后面的视图添加lightGray alpha,以便弹出框脱颖而出。我已经能够将颜色添加到整个背景UIView中,但是我在UIView中有一些图像不受添加颜色的影响。是否有一种简单的方法可以将背景颜色添加到包括图像在内的整个视图?

下面是我的代码:
IBOutlet UIView *viewVersion; //this is the pop-up view
- (IBAction)openSelector:(UIButton *)sender {
    viewVersion.hidden = NO;
    [self.view setBackgroundColor:[[UIColor lightGrayColor] colorWithAlphaComponent:1.0]];
    [viewVersion setBackgroundColor:[UIColor whiteColor]];
}

一些视图对象(例如:图像)没有被灰色区域覆盖是因为视图层次结构(想想photoshop中的图层)在灰色区域视图上方有这些对象。您应该将灰色区域视图带到层次结构的前面,然后立即将弹出视图带到层次结构的前面。这将确保所有其他视图在层次结构上低于它们,因此将绘制在所有其他视图之上。

我相信有一个方法叫做'bringSubviewToFront'。下面的代码片段可以帮助您入门:

    UIView* aview = [UIView new];
    [aview.superview bringSubviewToFront:aview];

最新更新