IOS - 一次从两个不同的app视图中删除Uilabel

时间:2015-10-14 11:09:48

标签: ios iphone uilabel

我在第一个视图中创建了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];
  

但是它只从一个视图中删除它只有第二个或第三个

2 个答案:

答案 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"的地址吗?我认为它创造了新的东西。

否则应删除相同的内存地址。