2009-10-20 2 views
2

UIWindowUIViewController이 첨부 된 앱이 있습니다. 보기에서 UIViewController, 나는 버튼과 uiview_1 크기의 100x80을 추가했습니다. 이 uiview_1은 같은 크기의 서브 뷰와 같은 다른 uiview_2를 포함하고이 uiview_2는 UIImageView 또는 런타임에 UIlable을 (모두 UIImageViewUIlableuserinteraction가 활성화되어)iphone presentModalViewController

지금 UIImageView의 터치/클릭에, 나는 새로운 보여주고 싶은 포함 presentModalViewController을 사용하여보기, 문제는보기가 표시되며 이전/메인 화면으로 이동 탐색 모음에서 뒤로 버튼을 사용합니다. 여기에 문제가 생겼습니다. 이제 버튼이나 UIImageView를 터치 할 수 없습니다. 둘 다 응답하지 않지만 앱이 다운되거나 멈추지 않습니다.

무엇이 잘못 되었나요? 이에

Plz은 도움말 ...

----- 편집 : 먼저

접근 :

SWVController *swvController = [[SWVController alloc] init]; 
UINavigationController *viewNavController = [[UINavigationController alloc] initWithRootViewController:swvController]; 
UIViewController *pushController = [[UIViewController alloc] init]; 
UIWindow *win = [[UIApplication sharedApplication] keyWindow]; 
[win addSubview:pushController.view]; 
[pushController presentModalViewController:viewNavController animated:YES]; 

swvController에서 나는 다시 dismissModelViewController을에 호출 버튼이 있습니다 클릭 >> 결과가 메인 화면입니다. Ctrl이 모래에 반응하지 않습니다. 3 시간 전

Second appr

: - : oach 모래 시간 전

3 접근 방식을

SWVController *swvController = [[SWVController alloc] init]; 
UINavigationController *viewNavController = [[UINavigationController alloc] initWithRootViewController:swvController]; 
UIViewController *pushController = [[UIViewController alloc] init]; 
[self addSubview:pushController.view]; 
[pushController presentModalViewController:viewNavController animated:YES]; 

swvController에서 내가 다시 클릭에 dismissModelViewController를 호출 버튼 >> 결과는 네비게이션 바에서 swvController의 뒤로 버튼이 응답하지입니다이

SWVController *swvController = [[SWVController alloc] init]; 
UINavigationController *viewNavController = [[UINavigationController alloc] initWithRootViewController:swvController]; 
SampleAppAppDelegate *appdel = [[UIApplication sharedApplication] delegate]; [appdel.viewController presentModalViewController:viewNavController animated:YES]; 

>> 결과는 정상적으로 작동하지만 SampleAppAppDelegate를 사용하고 싶지 않습니다. 내 작은 Uiview (100x80)를 다른 사람에게주고 싶습니다. 여기서 내 ctrl은 AppDelegate를 얻을 수 없습니다. 런타임에 thet 애플 리케이션. - sandy 3 시간 전

답변

0

UIImageView의 클릭/터치는 어떻게 처리 했습니까? TouchesBegan/Ended?

또한

, 당신이 presentModalViewController을 수행 할 때, 당신은 할 필요가 없습니다 ... 일부 로그 (NSLog)를 넣어 시도하고 제어 액션 방법에 도달 있는지 확인하기 위해 (일부 중단 점을 넣어) 디버그 모드에서 응용 프로그램을 실행 내비게이션 바에있는 뒤로 버튼으로 POP를 보냅니다 ... 숨기기 만하면 dismissModelViewController이 필요합니다.

+0

내 3 가지 방법을 확인해주세요. – sandy

4

전화는 모달 뷰 컨트롤러 제시 할이 방법 :

- (IBAction)showInfo {  
    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
    controller.delegate = self; 

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentModalViewController:controller animated:YES]; 

    [controller release]; 
} 

이 자기에게이 방법을 추가

- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

은 도구 모음이나 다른 버튼을 사용하여이 방법에 연결을 모달보기 컨트롤러에서 :

- (IBAction)done { 
    [self.delegate flipsideViewControllerDidFinish:self]; 
} 

모든 코드는 Apple에서 제공합니다.

관련 문제