我有一个带有多个按钮的320x460视图,根据按下的按钮,在320x460视图上弹出280x280视图(类似于UIAlertView的行为),使用如下代码:
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(20, 200, 280, 280)];
overlayView.backgroundColor = [UIColor whiteColor];
[overlayView autorelease];
[overlayView addSubview:label]; // label declared elsewhere
[overlayView addSubview:backgroundImage]; // backgroundImage declared elsewhere
//... Add a bunch of other controls
[label release];
[backgroundImage release];
//... Release a bunch of other controls
[self.view addSubview:overlayView];
显示overlayView及其所有控件的一切正常。
我的问题是,如何在显示后删除overlayView?我想让它不仅不可见而且要完全删除它,因为用户在使用过程中会反复弹出overlayView。
答案 0 :(得分:3)
您需要访问overlayView才能删除它,我建议将其添加到创建方:
overlayView.tag = 5; // Or some other non-zero number
之后您可以像这样使用它:
-(void)removeOverlayView
{
UIView *overlayView = [self.view viewWithTag:5];
[overlayView removeFromSuperview];
}