2013-10-31 3 views
0

컨트롤러를 사용할 수 없도록 설정 한이 grayView을 가지고 이전 질문에 대한 답변이 비활성 상태로 보이지만, grayView을 만졌을 때 감지해야합니다. grayView. 누구든지이 문제에 대한 해결책을 찾도록 도와 주시면 감사하겠습니다. UITouchedBegan 및 다른 많은 stackoverflow 솔루션을 사용해 보았지만 각각의 솔루션이 작동하지 않았습니다. 어떤 도움을 주시면 감사하겠습니다.특정보기에서 접촉을 감지해야합니다

grayViewUIView입니다.

-(void)ViewDidLoad 
{ 
    grayView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    grayView.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5]; 
    [self.navigationController.view addSubview:grayView]; 
} 

답변

1

당신은 grayViewUITapGestureRecognizer을 추가 할 수 있으며 만졌을 때, superview에서 grayView를 제거합니다.

다음은 어떻게 수행할까요?

//your gray view 
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeGrayView:)]; 
tap.numberOfTapsRequired = 1; 
[_yourGrayView addGestureRecognizer:tap]; 

, 당신이 그런 다음 grayViewsuperView

를 추가하기 전에이 코드를 추가해야합니다

-(void) removeGrayView: (UITapGestureRecognizer) gesture { 
    [_yourGrayView removeFromSuperView]; 
} 
관련 문제