Ios 为自定义活动指示器视图使UIView半透明

Ios 为自定义活动指示器视图使UIView半透明,ios,objective-c,uiview,calayer,Ios,Objective C,Uiview,Calayer,我已经为我的iOS应用程序实现了一个自定义活动指示器视图,该视图运行平稳。要求是在自定义活动指示器设置动画时将superview的alpha设置为50%(或使其半透明),并在自定义活动指示器停止时将其设置为normal。我使用下面的类方法添加自定义活动指示器以查看 + (CustomActivityIndicatorView*)addCustomActivityIndicatorToView:(UIView *)view { CustomActivityIndicatorView *cu

我已经为我的iOS应用程序实现了一个自定义活动指示器视图,该视图运行平稳。要求是在自定义活动指示器设置动画时将superview的alpha设置为50%(或使其半透明),并在自定义活动指示器停止时将其设置为normal。我使用下面的类方法添加自定义活动指示器以查看

+ (CustomActivityIndicatorView*)addCustomActivityIndicatorToView:(UIView *)view
{
    CustomActivityIndicatorView *customActivityIndicatorView = [[CustomActivityIndicatorView alloc]init];
    customActivityIndicatorView.hidesWhenStopsAnimating = NO;
    [customActivityIndicatorView setFrame:CGRectMake(view.bounds.size.width/2-(customActivityIndicatorView.frame.size.width/2), view.bounds.size.height/2-(customActivityIndicatorView.frame.size.height/2), customActivityIndicatorView.frame.size.width, customActivityIndicatorView.frame.size.height)];
    [view addSubview:customActivityIndicatorView];
    [customActivityIndicatorView startAnimating];

    return customActivityIndicatorView;
}
问题是,当我设置[view setAlpha:0.5]时,它将alpha设置为所有子视图,包括自定义活动指示器。 我想淡入superview,而不是自定义活动指示器

阅读所有这些链接

还尝试设置layer.shouldRasterize和组不透明度的plist键,但没有任何帮助。
请帮忙

只需将视图的背景色设置为半透明白色:

customActivityIndicatorView.backgroundColor = [UIColor colorWithWhite:1. alpha:.5];

您可以在superview和指示器之间的superview顶部放置一个半白色或半黑色覆盖层,而不是使整个superview褪色。这会在视觉上起作用


覆盖将具有
alpha=1.
backgroundColor=[uicolorWithWhite:1.alpha:.5]

谢谢,但我希望superview(其中customActivityIndicatorView作为子视图添加)半透明,而不是customActivityIndicatorView的背景。是的,尝试了这样做,它可以工作,但它会禁用用户交互。。。其中,根据要求,当customActivityIndicatorView旋转时,用户可以与视图交互。感谢覆盖不需要阻止用户交互。只需将其
userInteractionEnabled
属性设置为NO。