我在第一个视图中创建了UILabel
,并将其添加到第二个视图和第三个视图中。现在,当我打开第四个视图时,应该删除第二个和第三个视图上添加的UILabel
。
-(void)initializeMarqueeLabelWithViewController:(UIViewController *)viewCont {
在第一个视图上创建并在第二个和第三个视图上添加的标签
rightLeftLabel = [[MarqueeLabel alloc] initWithFrame:CGRectMake(10, 483, viewCont.view.frame.size.width-20, 20) rate:50.0f andFadeLength:10.0f];
rightLeftLabel.numberOfLines = 1;
rightLeftLabel.textAlignment = NSTextAlignmentRight;
rightLeftLabel.textColor = [UIColor yellowColor];
rightLeftLabel.font = [UIFont fontWithName:@"Helvetica-BOLD" size:15.000];
rightLeftLabel.marqueeType = MLContinuous;
[UIColor whiteColor] range:NSMakeRange(0,6)];
[rightLeftLabel setAttributedText: string];
[viewCont.view addSubview:rightLeftLabel];
}
在打开第四个视图时删除
[rightLeftLabel removeFromSuperview];
但是它只从一个视图中删除它只有第二个或第三个
答案 0 :(得分:0)
您可以为标签添加一些标签,同时删除使用viewWithTag:获取该视图并将其从superview中删除。
rightLeftLabel = [[MarqueeLabel alloc] initWithFrame:CGRectMake(10, 483, viewCont.view.frame.size.width-20, 20) rate:50.0f andFadeLength:10.0f];
rightLeftLabel.tag = 1001; // orany other tag
删除时,
UIView *view = [secondView viewWithTag:1001];
[view removeFromSuperView];
view = [thirdView viewWithTag:1001];
[view removeFromSuperView];
答案 1 :(得分:0)
你能检查一下" rightLeftLabel"的地址吗?我认为它创造了新的东西。
否则应删除相同的内存地址。