0
맞춤 알림과 관련된 앱을 진행하고 있습니다. 경고에서 확인 단추를 클릭하면 투명 배경으로 경고보기를 표시하는 코드가 작성되어 경고가 사라집니다. 내가 투명보기를 터치하면서 일이 같은 일에 대한 도움이 필요IOS : 백그라운드에서 클릭하면보기가 제거됩니다.
또한 내 코드는이 이하 :
- (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];
}
tansparent보기에서 탭 제스처를 추가하십시오. –
투명한 뷰의 크기가 창 크기와 같지 않은 경우 투명한 뷰 외부의 영역을 터치하면 터치가 감지되지 않습니다. 투명한 화면을 전체 화면으로 볼 수없는 경우 hitTest를 익히고 그렇지 않으면 제스처를 추가하거나 터치 이벤트를 무시하십시오. – Suen
전체 화면으로 표시 할 수없는 경우 현재 창에 다른 투명한 뷰를 추가하여 터치를 테스트하고 메서드 'hitTest : withEvent :'를 재정의해야합니다. – Suen