Ios 以编程方式删除子视图

Ios 以编程方式删除子视图,ios,cocoa-touch,uiview,Ios,Cocoa Touch,Uiview,我在appdelegate中的didReceiveMemoteNotification:方法中得到了这段代码 我想知道如何使用延迟删除此子视图,假设子视图显示推送通知中的信息,但我希望它们在3.5秒后消失(延迟2) 可以使用UIView的removeFromSuperview实例方法。 在窗口上添加视图时,将标记设置为“全部”。在delay2方法中,使用tag&removeFromSuperview方法删除它们 CGRect myFrame = CGRectMake(0, 20, 320, 50

我在appdelegate中的didReceiveMemoteNotification:方法中得到了这段代码

我想知道如何使用延迟删除此子视图,假设子视图显示推送通知中的信息,但我希望它们在3.5秒后消失(延迟2)


可以使用UIView的removeFromSuperview实例方法。 在窗口上添加视图时,将标记设置为“全部”。在delay2方法中,使用tag&removeFromSuperview方法删除它们

CGRect myFrame = CGRectMake(0, 20, 320, 50);
UIView *myView = [[UIView alloc] initWithFrame:myFrame];
myView.backgroundColor = [UIColor blueColor];
[myView setTag:999];
[self.window addSubview:myView];
[myView release];

UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 300, 20)];
[aLabel setText:alert];
[aLabel setTag:999];
[self.window addSubview:aLabel];
[aLabel release];


-(void)delay2 {

for(UIView *subView in window.subviews)
{
    if(subView.tag == 999)
        [subView removeFromSuperview];
}

}

您可以使用UIView的removeFromSuperview实例方法。 在窗口上添加视图时,将标记设置为“全部”。在delay2方法中,使用tag&removeFromSuperview方法删除它们

CGRect myFrame = CGRectMake(0, 20, 320, 50);
UIView *myView = [[UIView alloc] initWithFrame:myFrame];
myView.backgroundColor = [UIColor blueColor];
[myView setTag:999];
[self.window addSubview:myView];
[myView release];

UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 300, 20)];
[aLabel setText:alert];
[aLabel setTag:999];
[self.window addSubview:aLabel];
[aLabel release];


-(void)delay2 {

for(UIView *subView in window.subviews)
{
    if(subView.tag == 999)
        [subView removeFromSuperview];
}
}