2015-10-14 13 views
0

我在第一個視圖中創建了一個UILabel,並將其添加到第二個視圖和第三個視圖。現在,當我打開第四個視圖時,第二個和第三個視圖上添加的UILabel應該被刪除。在第一個視圖中創建並在第二和第三視圖中添加IOS - 一次從兩個不同的應用程序視圖中刪除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

初始化這個標籤 [APP_DELEGATE initializeMarqueeLabelWithViewController:self]; –

+0

此方法已初始化,例如在第二視圖上,我希望此標籤也適用於第三視圖。現在我想從這兩個視圖中刪除這個標籤 –

回答

0

您可以給一些標籤到標籤中,並在除去使用viewWithTag:獲得這一觀點,並從上海華盈將其刪除。

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]; 
+0

我試過這個UIView * view = [secondView viewWithTag:1001]; 我在這裏得到零。 –

0

您能查看 「rightLeftLabel」 的地址?我認爲這是創造新的。

否則應刪除相同的內存地址。

+0

你在同一時間我正在創建兩個rightLeftLabel爲一個方法的兩個意見......但它只是刪除一個rightLeftLabel –

+0

這意味着你需要採取兩個變量一個左標籤和其他正確的標籤。目前您正在使用單個變量,它存儲最後一個標籤地址並刪除最後一個標籤。 –

+0

你說的一些是正確的,但是在這裏我想在這兩個視圖中顯示這個UILabel,這就是爲什麼我在這兩個視圖中初始化這個UILabel,但是在刪除它的過程中,它刪除了我創建的最後一個標籤。 –

相關問題