繁体   English   中英

如何删除动态创建的UIView和UILabel文本?

[英]how to Remove Dynamically Created UIView and UILabel text?

我正在添加一些名为* 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]; 

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

- (void)removeSubviewsOfView
{
    NSArray *subViews = [self.view subviews];
    for(UIView *view in subViews)
    {
        [view removeFromSuperview];
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM