我想隐藏UILabel,但我无法将标签隐藏在ViewDidLoad之外或“ViewDidLoad内部但for循环之外”。在for循环中的ViewDidLoad中,我可以实现我想要的。我可以用标签隐藏标签。但是在循环之外它不起作用。如何用viewWithTag隐藏UILabel?
这就是我正在做的。请看一看。
-(void)ViewDidLoad{
int lbl_Pos_X = 580;
for (j=0; j<30; j++) {
lbl = [[UILabel alloc ] initWithFrame:CGRectMake(lbl_Pos_X, 21, 7, 15)];
lbl.backgroundColor = [UIColor redColor];
lbl.tag = j;
[self.view addSubview:lbl];
//[lbl release];
lbl_Pos_X = lbl_Pos_X + 5;
[lbl viewWithTag:10].hidden = YES; // here working
}
[lbl viewWithTag:12].hidden = YES; // here Not working
}
任何想法或建议将非常受欢迎。
我想使用此代码,但只适用于一个标签,这可能吗? for(UIView * subview in self.view.subviews){ if([subview isKindOfClass:[UILabel class]] { subview.hidden = YES; } –
是的,您可以使用但在if条件替换条件为 if(XX == [_ label1 tag])其中XX =您想要隐藏标签的标签号。因为看起来你有多个UILabels,而你想隐藏特定的一个,但是如果你想隐藏所有的UILabel,那么你的代码就可以正常工作。 – Suryakant
如果我给viewWithTag:0,那么我的所有ipad页面都隐藏了。所有的屏幕将变成白色。如果我给viewWithTag:1,那么没问题,但lbl.tag = 0;变得可见。 –