2010-07-13 2 views
2

이 질문은 다음에서에 따라 수 있습니다 :모달 뷰와 touchesBegan

UITouch - Event not responding

내가 할 더 많은 연구와 나는 문제가 무엇인지 알고,하지만 난 그것을 해결하거나하는 방법을 모른다 해결할 수 있다면. 나는 새로운 접근법을 취해야 할 수도 있습니다.

은 내가 RootViewController을 가지고이에서 나는 다음과 같은 코드를 사용하여 두 번째의 ViewController를로드

[self presentModalViewController:newWorkoutViewController animated:YES]; 

내가 다음 NewWorkoutViewController에서 장소에 다음 코드를 가지고 :

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSLog(@"New Workout Screen tapped"); 
} 

이 방법은되지 않습니다 나는 이것이 모달적인 관점이기 때문에 생각한다. 모달보기에서 화면의 탭을 감지 할 수 있습니까?

감사 스티븐

답변

2

하지보기에보기 컨트롤러 관련 방법을 정의합니다.

+0

합니다. – Stephen

+0

문제가 해결되었습니다 ... NewWorkoutViewController 두 개의 다른보기 컨트롤러를 호출 할 수있는 두 개의 다른 단추가 있습니다. 나는이 설치가 제대로되지 않았기 때문에 화면을 클릭하거나 탭하지 않았을 때 등록하지 않았습니다. 도움 주셔서 감사합니다. – Stephen

+0

뷰 컨트롤러가 아니라 뷰를 의미합니다 ... –

1

귀하의 가정 사항이 잘못되었습니다. 뷰 컨트롤러를 모달 식으로 표시하는 것은 뷰 컨트롤러와 관련이 없습니다. 터치는 다른 것과 마찬가지로 모달보기에서 동일하게 작동합니다. 대부분의 경우보기에서 사용자 상호 작용을 사용할 수 없습니다. 보조보기 컨트롤러를 어떻게 만들었습니까?

+0

사용자 상호 작용이 활성화되었습니다. 보조 뷰 컨트롤러를 만들려면 내 클래스 폴더를 마우스 오른쪽 단추로 클릭하고 새 파일을 추가 한 다음 UIViewController Subclass를 선택하고 사용자 인터페이스 용 XIB를 선택하여 확인하십시오. – Stephen

+0

문제가 해결되었습니다 ... NewWorkoutViewController 두 개의 다른보기 컨트롤러를 호출 할 수있는 두 개의 다른 단추가 있습니다. 나는이 설치가 제대로되지 않았기 때문에 화면을 클릭하거나 탭하지 않았을 때 등록하지 않았습니다. 도움 주셔서 감사합니다. – Stephen

+1

@Stephen : 내가 사용자가 (그것은 단지 아이 패드의 중앙을 커버 그래서는 "형태"스타일보기이다)의 외부 탭 때 모달 뷰를 기각 할 경우, 지금 같은 문제가 생겼어요 - 무엇을 정확히 버튼을 사용하여 문제인가? – Kalle

1

이벤트를 수신 할 뷰에 컨트롤이 없으면 이벤트는 ViewController로 보내집니다. 예를 들어,보기에 단추가 있고 단추를 누르면 단추에 ViewController가 아니라 터치 이벤트가 표시됩니다.

OS는 pointInside : withEvent : 메소드를 사용하여 이벤트를 전송할 위치를 결정한 다음 hitTest:withEvent:을 호출합니다.보기에서이를 재정의하고 어떤 객체가 이벤트를 가져 오는 지 확인할 수 있습니다.

또한, 사용하지 않는 사용자 상호 작용, 또는 0.1은 그러나 hitTest 무시 알파 수준이 숨겨져있는 뷰 : withEvent : 그들은 내보기 컨트롤러에 정의 된

+0

덕분에이를 위해 당신이 순간이 있다면 당신의 말, 당신은이 샘플 코드를 살펴 수 이해 ... HTTP : //www.mediafire.com/ wmjc2ffntzc 가 궁극적으로 내가 이것을 달성하고자, 기반 당신이 내가 텍스트 상자가 피커 팝업을 클릭하면이 사람이 텍스트 상자의 예에 터치 이벤트를 달성하는 방법을 이해하지 않는 이상했다. – Stephen