2011-05-15 6 views
1

최상위 뷰가 투명하고 이미지 또는 레이블 (투명 배경 포함)이 포함 된 뷰가있는 트리가 있습니다.투명 뷰의 UITapGestureRecognizer

이보기에 UITapGestureRecognizer를 연결하면 이미지가 포함 된보기에만 알림이 표시됩니다.
또한 뷰를 비워두면 배경색이 [UIColor clearColor]와 다른 경우에만 이벤트가 발생합니다.

덤프를 완료했으며 전체보기 트리에 userInteractionEnable = YES가 있습니다.

투명한 배경으로 뷰에서 UITapGesturerRecognizer를 작동 시키려면 어떻게해야합니까?

해결됨
문제는 제가 생각한 것이 아닙니다. 투명한 뷰는 스크롤 뷰에 있고 초기화하는 동안 뷰의 보이는 영역 밖에있었습니다. 보이는 영역 내의 사람들은 잘 작동합니다.

+0

자세한 내용이나 코드를 제공 할 수 있습니까? 배경색이 clearColor로 설정된보기에 탭 제스처 인식기를 연결하여 탭에 응답했습니다. 그래서 조금 더 많은 정보가 도움이 될 수 있습니다. –

+0

@DeepakDanduprolu 말해라. 게시 된 시나리오와 마찬가지로, UISwipeGestureRecognizer가 있고 그 뒤에 (형제가 아닌) 다른 뷰 (clearColor가 아닌)가있는 경우를 제외하고는 뷰의 아무 곳이나 응답하지 않을 것이다 (clearColor와 함께)! 그렇습니다. iOS는 무작위로 최고입니다. – helmesjo

답변

0

clearColor를 제외한 배경색을 설정하고 alpha 속성을 0.0으로 설정해보십시오.

myView.backgroundColor = [UIColor blackColor]; 
myView.alpha = 0.0; 
+4

이렇게하면 하위 뷰가 투명 (숨김)으로 설정됩니다. –

0

여기에는 야생이 맞지만 뷰에 1x1 픽셀 이미지를 포함하면 해당 뷰는 제스처를받을 수 있습니까? 똑같이 자연스러운 추측은 투명한 이미지를 뷰에 추가하고이를 시도하는 것입니다.

0

보기가 거의 투명하지 않은 배경색 (예 : [UIColor colorWithWhite:0 alpha:0.01])이되도록하십시오.