2010-06-26 2 views
0

간단한 모달 ViewController를 만들고 있습니다. 나는 버튼으로 펜촉을 만들고 그 버튼을 눌러서 viewController를 만들고있는 modal viewController를 표시하는 메서드를 호출하고 그 안에 button을 넣는다.모달 viewController 버튼 문제 해결

UIViewController *modalViewController = [[UIViewController alloc]initWithNibName:nil bundle:nil]; 
modalViewController.view.backgroundColor = [UIColor redColor]; 
modalViewController.; 

UIButton *btnDismissViewController = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
btnDismissViewController.frame = CGRectMake(60, 160, 150, 50); 
[btnDismissViewController setTitle:@"DISMISS" forState:UIControlStateNormal]; 
[btnDismissViewController addTarget:self action:@selector(dismissViewCOntroller) forControlEvents:UIControlEventTouchUpOutside]; 

btnDismissViewController.backgroundColor = [UIColor grayColor]; 
[modalViewController.view addSubview:btnDismissViewController]; 

[self presentModalViewController:modalViewController animated:YES]; 

이 뷰는 올바르게 표시되지만 modalViewController상의 버튼을 누른 후 상기 modalViewController 기각하는 대상 메소드가 호출되지 않는다. 분명히 뭔가 분명한 것을 놓치고 있지만 무엇을 얻지는 못하고 있습니다. 아무도 도와 줄 수 있니?

고지.

+0

'dismissViewCOntroller' 메소드의 정의를 보여주십시오. 선택기를 정의한 방식에 따라 두 개의 대문자와 모두 '- (void) dismissViewCOntroller' (보낸 사람 인수 없음)와 같이 표시되어야합니다. –

+1

또한 'UIControlEventTouchUpInside'를 쓰려고하지 않으셨습니까? –

+0

고맙습니다, 올레, IWasRobbed 및 Macatomy ... 네, 오타가 있었다 .. 내가 실수 UIControlEventTouchUpOutside으로 작성되었습니다 "UIControlEventTouchUpInside".. – neha

답변

1

나는 또한이 유사하여 dismissViewCOntroller 방법 내에서 기각되어 있는지 확인 ... 올레의 의견에 동의 :

난 당신의 코드에 오타가있을 수 있습니다 생각
[self.parentViewController dismissModalViewControllerAnimated:YES]; 
1

dismissViewCOntroller는 것 같아 dismissViewController이어야합니다. 그러나 의도적 인 것이고 제어 상태는 UIControlEventTouchUpInside이어야합니다.