0

我正在添加一些名为 *cellSeparator 和其他 UILabels 的动态 UIView ...现在发生的情况是,当我再次调用此代码然后它重写标签文本并覆盖以前创建的标签文本时...我不太清楚这一点ios development.so 谁能告诉我如何在再次创建之前动态删除这个 UIView?因为 UIView 是动态创建的,我不知道如何删除那个 UIView

  UILabel *indexLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height-150, self.view.frame.size.width/2,30)];
            [indexLabel setBackgroundColor:[UIColor clearColor]];
            indexLabel.textColor = [UIColor whiteColor];
            indexLabel.text = @"Details:-";
            indexLabel.font = [UIFont systemFontOfSize:20.00];
            UILabel *tagLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height-120, self.view.frame.size.width/2, 30)];
            tagLabel.backgroundColor = [UIColor clearColor];


            NSLog(@"LOg %@",imageId);
            NSLog(@"LOg %@",imageStyle);
            NSLog(@"LOg %@",imageType);
            NSLog(@"LOg %@",imageWeight);
            tagLabel.text = [NSString stringWithFormat:@"The Id of Jewl Is:  %@",imageId];

            imageTypelabel= [[UILabel alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height-90, self.view.frame.size.width/2, 30)];
            imageTypelabel.backgroundColor = [UIColor clearColor];
            imageTypelabel.text = [NSString stringWithFormat:@"The Type of Jewl Is:  %@",imageType];
            imageStylelabel = [[UILabel alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height-60, self.view.frame.size.width/2, 30)];
            imageTypelabel.backgroundColor = [UIColor clearColor];
            imageStylelabel.text = [NSString stringWithFormat:@"The style of Jewl Is:  %@",imageStyle];
            imageWeightlabel = [[UILabel alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height-30, self.view.frame.size.width/2, 30)];
            imageStylelabel.backgroundColor = [UIColor clearColor];
            imageWeightlabel.text = [NSString stringWithFormat:@"The weight of Jewl Is:  %@",imageWeight];
            imageWeightlabel.backgroundColor = [UIColor clearColor];
            imageWeightlabel.textColor = [UIColor whiteColor];
            imageTypelabel.textColor = [UIColor whiteColor];
            imageWeightlabel.textColor = [UIColor whiteColor];
            tagLabel.textColor = [UIColor whiteColor];
            UIImage *imageBegin = [UIImage imageNamed:imageName];
            UIImageView *imageView = [[UIImageView alloc] initWithImage:imageBegin];


            UIView *cellSeparator = [[UIView alloc] initWithFrame:CGRectMake(0,545, self.view.frame.size.width ,3)];
            cellSeparator.tag=1;
            [cellSeparator setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin |
             UIViewAutoresizingFlexibleRightMargin | 
             UIViewAutoresizingFlexibleWidth];       
            [cellSeparator setContentMode:UIViewContentModeTopLeft];    
            [cellSeparator setBackgroundColor:[UIColor whiteColor]];
            [self.view addSubview:cellSeparator]; 
4

1 回答 1

8

您可以编写一个方法来删除视图的所有子视图并根据需要修改此代码。

- (void)removeSubviewsOfView
{
    NSArray *subViews = [self.view subviews];
    for(UIView *view in subViews)
    {
        [view removeFromSuperview];
    }
}
于 2013-04-01T11:09:52.273 回答