Iphone 局部变量addSubView

Iphone 局部变量addSubView,iphone,objective-c,memory-management,uiview,Iphone,Objective C,Memory Management,Uiview,如果存在方法addLabel,则示例: - (void)addLabel { for (NSInteger i = 0; i < 5; i ++) { UILabel *label = [[UILabel alloc] init]; [label setText:@"label"]; [[self view] addSubView:label]; [label release]; } } -(无效)添加标签{ 对于(NS

如果存在方法addLabel,则示例:

- (void)addLabel {
   for (NSInteger i = 0; i < 5; i ++) {
       UILabel *label = [[UILabel alloc] init];
       [label setText:@"label"];
       [[self view] addSubView:label];
       [label release];
   }
}
-(无效)添加标签{
对于(NSInteger i=0;i<5;i++){
UILabel*label=[[UILabel alloc]init];
[标签设置文字:@“标签”];
[[self view]addSubView:label];
[标签发布];
}
}
每当触发按钮时,就会调用该方法。
是否需要先从子视图中删除所有标签(removeFromSuperView:),然后再添加子视图?

首先,必须为UILabel指定一些坐标。因此,它可以显示在适当的位置

您可以使用以下行进行此操作:

UILabel*lblTaskTitle=[[UILabel alloc]initWithFrame:CGRectMake(45.0,5200.0,35.0)]

另一件事是,如果你去掉其他标签会更好。(这不是必须的,但这是良好的做法)

您可以通过以下方式执行此操作:

    UILabel *lbl = nil;

    NSArray *Arraylbl = [self.view subviews];
    for (lbl in Arraylbl){
        if ([lbl isKindOfClass:[UILabel class]]){
            [lbl removeFromSuperview];
        }
    }
希望你一切顺利


如果有任何困难,请告诉我。

是的,您必须从super view中删除所有以前的标签,否则它们都将添加到以前的现有标签之上,因此新标签将无法理解。

问题是[self.view子视图]中没有任何标签。我已经在NSLogIf中检查了它,如果您调用了上面的函数,那么它将被删除。如果标签存在,那么只有它将被删除。否则就没有问题了。如果你有困难,请告诉我。