我正在使用此代码显示活动指示符:
UIActivityIndicatorView *av = [[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease];
av.frame=CGRectMake(0.5*winSize.width-winSize.width/4, 0.80*winSize.height , winSize.width/2, winSize.width/8);
[av setBackgroundColor:[UIColor colorWithRed:0.23 green:0.23 blue:0.23 alpha:0.75]];
av.layer.cornerRadius=4;
av.tag = 31000;
[[[CCDirector sharedDirector]view]addSubview:av];
[av startAnimating];
并删除它:
UIActivityIndicatorView *tmpimg = (UIActivityIndicatorView *)[[[CCDirector sharedDirector]view] viewWithTag:31000];
if(tmpimg)
[((UIView *)tmpimg) removeFromSuperview];
我需要的是仅删除指标本身(滚动的圆圈)并留下我刚绘制的视图的矩形(av.frame
)。
我该怎么做? 非常感谢。
答案 0 :(得分:1)
你做不到。
构建一个包含背景+角半径的自定义UIView,并保存活动指示器。
之后,您可以向此自定义UIView添加隐藏/删除活动指示符的方法。
顺便说一下,您可以隐藏活动指示器,或者将其停止(如果隐藏当收到时,它将比每次创建活动指示器更有效。)
答案 1 :(得分:1)
在这种情况下,你可以做的是设置
av.hidesWhenStopped = YES;
停止时会隐藏指示灯。我认为你不需要删除它。
答案 2 :(得分:1)
添加使用此........
UIView * aView = [[UIView alloc] initWithFrame:CGRectMake(0.5*winSize.width-winSize.width/4, 0.80*winSize.height , winSize.width/2, winSize.width/8)];
aView.backGroundColor = [UIColor clearColor];
aView.tag = 31000;
UIActivityIndicatorView *av = [[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease];
av.frame=aView.bounds;
[av setBackgroundColor:[UIColor colorWithRed:0.23 green:0.23 blue:0.23 alpha:0.75]];
av.layer.cornerRadius=4;
[aView addSubview:av];
[[[CCDirector sharedDirector]view]addSubview:aView];
[av startAnimating];
要删除,请使用此
UIView * aView = [[[CCDirector sharedDirector]view] viewWithTag:31000];
if(aView)
{
[aView removeFromSuperview];
}