2009-09-16 3 views
0

그래서 내 응용 프로그램 대리인에서 전화를 추가하면 myViewController.view가 주 창에 추가됩니다.
1. [window addSubview : myViewController.view]; myViewController에서

Objective-C/iPhone : Windows '보기가 버튼 클릭에 응답하지 않습니다!

I 수행 viewDidAppear 방법에서 다음 코드
2 자기 presentModalViewController : yourViewController 애니메이션 : YES]; 내 yourViewController 클래스에서


가 나는 시도하고
(3) 자기 dismissModalViewControllerAnimated : YES] 기본 창으로 돌아가 다음을 수행;

메인 윈도우보기에는 버튼이 모두 표시되지만 버튼은 아무런 클릭이나 반응이 없습니다. 내가 볼 수없는 뭔가가있는 것 같습니다.

또한이 프로세스 전에 주 창 단추가 작동하지만 프로세스 이후에는 작동하지 않습니다.

도움을 주시면 감사하겠습니다.

답변

0
  1. 기각 메서드 호출이 다음 실제로 [self.parentController dismissModalViewControllerAnimated:YES];
  2. 이유에 왜 가지가이 응답하지 않을 수 있습니다를 호출 할, 모달 뷰 컨트롤러 (안을 제시 부모)에있는 경우 감동. 다음은 두 가지입니다.
    • 터치 할보기의 프레임이 너무 작습니다. UIView은 프레임 외부로 그릴 수 있으므로 괜찮아 보이지만 터치가 기술적으로 프레임 외부에있는 경우에는 응답하지 않습니다. 또한 계층 구조 위로 모든 수퍼 뷰의 프레임이 충분히 큰지 확인해야합니다.
    • UIImageView 또는 그 하위 항목이있는 경우 UIImageViewuserInteractionEnabled이 기본적으로 NO으로 설정되어 있기 때문에 사용자가 터치해도 응답하지 않습니다. 당신은 설정하여이 문제를 해결할 수 myImageView.userInteractionEnabled = YES;

편집 : OLI 중 하나 self.parentController하거나 self로 불려 갔을 경우 그 방법은 부모를 호출 똑똑하기 때문에 dismissModalViewControllerAnimated:가 작동해야한다는 의견에서 지적 필요한 경우 문서에 따라 여러 모델 뷰가 동시에 열리면 문서가 다르게 작동 할 수도 있습니다. 그렇기 때문에 self.parentController에있는 메서드를 직접 호출하는 코드를 더 깨끗하게 간주 할 것입니다.

+0

[self.parentController dismissModalViewControllerAnimated : YES]로 변경합니다. 아무것도하지 않았다. 또한 메인 윈도우 버튼은이 프로세스 전에는 작동하지만 프로세스 후에는 작동하지 않습니다. – TheGambler

+0

이것은 실제로 시작되었습니다. 상위 컨트롤러보기도 제거해야했습니다. – TheGambler

+0

UIViewController 설명서 (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html)에서는 부모 대신 모달 ViewController에서 dismissModalViewControllerAnimated :를 호출해야한다고 명시합니다. 모달 VC는 메시지를 부모보기 컨트롤러에 자동으로 전달합니다. – Oli

관련 문제