局部变量addSubView

问题描述

| 示例,如果有方法addLabel:
- (void)addLabel {
   for (NSInteger i = 0; i < 5; i ++) {
       UILabel *label = [[UILabel alloc] init];
       [label setText:@\"label\"];
       [[self view] addSubView:label];
       [label release];
   }
}
并在触发按钮时调用方法。 是否需要先从子视图中删除所有标签(removeFromSuperView :),然后再次执行addSubview?     

解决方法

        首先,您必须给UILabel一些坐标。这样,它可以显示在适当的位置。 您可以使用以下代码: UILabel * lblTask​​Title = [[UILabel alloc] initWithFrame:CGRectMake(45.0,5,200.0,35.0)]; 另一件事是,删除其他标签会更好。 (这不是必需的,但这是一个好习惯)。 您可以通过以下方式进行操作:
    UILabel *lbl = nil;

    NSArray *Arraylbl = [self.view subviews];
    for (lbl in Arraylbl){
        if ([lbl isKindOfClass:[UILabel class]]){
            [lbl removeFromSuperview];
        }
    }
希望对你没事。 如果有任何困难,请告诉我。     ,        是的,您必须从超级视图中删除所有先前的标签,否则它们将全部添加到先前的现有标签上方,因此新标签将无法理解。