IOS:在后台单击时删除视图

时间:2014-12-31 07:54:47

标签: ios objective-c ontouchevent touch-event

我正在做与自定义提醒相关的应用。用于显示带有透明背景的警报视图的书面代码,当我点击警报视图上的确定按钮时,警报消失。

我需要帮助同样的事情发生在我触摸透明视图时我的代码也在下面 :

- (void)didCustomPopUpAlertLoad:(UIView *)parentView andtitle:(NSString *)strTitle {

[self setRootView:parentView];
self.lblAlertMessage.text = strTitle;

//Add alertview into transparent view to hide parent view interaction
UIView *transparentView = [[UIView alloc] initWithFrame:parentView.bounds];
[transparentView setBackgroundColor:[UIColor clearColor]];
[transparentView addSubview:self];

float x = (int)(transparentView.bounds.size.width - self.bounds.size.width)>>1;
float y = (int)(transparentView.bounds.size.height - self.bounds.size.height)>>2;
[self setFrame:CGRectMake(x, y+62, self.bounds.size.width, self.bounds.size.height)];

//    [self setFrame:CGRectMake(x+10, y+62, self.bounds.size.width, self.bounds.size.height)];
[self.window addSubview:transparentView];
[self.window makeKeyAndVisible];
[[transparentView subviews]
 makeObjectsPerformSelector:@selector(setUserInteractionEnabled:)
 withObject:[NSNumber numberWithBool:FALSE]];


}
 -(void)didCustomPopUpUnload{

[self.superview removeFromSuperview];
// Set up the fade-in animation
self.window = nil;

 }

 -(IBAction)didActionOkAlertPopUp:(id)sender{

[self didCustomPopUpUnload];
 }

1 个答案:

答案 0 :(得分:2)

创建自定义透明视图,然后覆盖此方法

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

将警报视图添加到此视图中,并将此视图用作全屏视图。 您可以使用event参数计算以了解警报视图内部或外部的用户触摸。