2013-03-07 3 views
1

.xib 파일에서보기를로드합니다. .xib에는 UITable과 UIView가 포함 된 UIControl 유형의 기본보기와 같은 구조가 있습니다. 문제는 UIControl이 접촉을받지 않으며 이벤트 터치 다운 방식이 결코 호출하지 않는다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까? 기본보기의 UIControl에서 터치 dowm 이벤트와 파일의 소유자내 iPhone 응용 프로그램에서 UIControl이 접촉하지 않습니다.

- (IBAction)backgroundTap:(id)sender 
{ 
    [passwordTextField resignFirstResponder]; 
    [usernameTextField resignFirstResponder]; 
} 

합니다 alse 바인드 backgroundTap 이벤트 : 나는 방법에게 나는이 방법을 구현하는 .m에

- (IBAction)backgroundTap:(id)sender; 및 선언이 .H 파일에서

업데이트

실제 위치는 그 이유는 내가 UiTable 요소를 항상 클릭하기 때문에 내 이벤트가 도달하지 않기 때문입니다. 이 문제를 어떻게 해결할 수 있습니까? UIControl에 테이블에서 터치 다운 이벤트를 보낼 수 있습니까?

+0

에는 일부 코드 –

답변

0

이 작업을 시도 할 수 있습니다 :이 당신을 도움이되기를 바랍니다

yourControl.userInteractionEnabled = TRUE; 

합니다.

+0

이 포함되어 있지 않습니다. xib에서이 속성을 TRUE로 설정합니다. – revolutionkpi

0

방법 컨트롤을 점검하십시오. 내부가 위로 가려지지 않으므로 내부를 만져보고 시도하십시오.

0

설명에 따르면 xib 루트보기가 UIControl 인 것 같습니다. IB는 UI를 통해 허용하지 않습니다. 수동으로 초기 UIView에서 클래스를 변경 했습니까? 마찬가지로 IB는 UIControl 객체에 하위 뷰를 추가하는 것을 허용하지 않습니다. 따라서 xib 구조를 명확히 알지 못하는 사이에 UIView 루트로 시작하여 UIControl 내의 UITableView가 아니라 UIView 내에 UITableView 및 UIControl 객체를 추가해야합니다.

0

모든 화면을 제어하는 ​​컨트롤을 서브 클래스 화하십시오.

touchesBegan:withEvent:을 덮어 씌우는 방법으로 컨트롤을 사용자 컨트롤로 리디렉션합니다.

관련 문제