2012-09-25 2 views
0

dismissmodalview와 관련된 문제가 발생했습니다. 그것은 분명히 ios 6.에서 감가 상각됩니다. 누구든지 수정을 제안 할 수 있습니다. 나는이 코드를 시도했지만 여전히 경고를 표시합니다.modalView 닫기

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){ 

    [[self parentViewController] dismissModalViewControllerAnimated:YES]; 

} else { 

    [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]; 
} 

누구나 추천 할 수있는 사람이 있습니까? 기본적으로 내보기 컨트롤러에서 사용하고있는 모달보기를 닫으려고합니다.

아드리안

답변

6

당신은 시도? 내 프로젝트 중 하나에서 이것을 성공으로 사용하고 있습니다.

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

감사합니다. 그거였다. 나는 modalviewcontroller가 뷰 컨트롤러라는 사실을 잊고 있었다고 생각합니다. 도와 주셔서 다시 한 번 감사드립니다. thanks leo. –

1

iOS 6에서 선택기가 사용되지 않으므로 경고 메시지가 나타납니다. iOS 5 이상을 타겟팅하는 경우 dismissModalViewControllerAnimated:을 사용하지 않아야합니다. 당신이 정말로 그것을 사용해야하는 경우

, 당신과 같이 performSelector:를 호출 할 수 있습니다 조언

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){ 
    [[self parentViewController] performSelector:@selector(dismissModalViewControllerAnimated:) withObject:@YES]; 
} 

단어 : 그 자체를 닫습니다보기 좋은 연습으로 간주되지 않습니다. 모달보기 컨트롤러에 대한 대리자 프로토콜을 만들고 모달 대리자에 의해 표시 컨트롤러를 표시해야합니다.

+0

감사합니다. 대표단 제안을 살펴 보겠습니다. 내 애플 리케이션 중 하나를 업 그레 이드하기 위해이 코드와 함께 일하고 있지만,이 작동하지 않는 경우, 나는 코드를 점검하고 그것을 다시 작성해야 겠군. 다시 레오에게 감사드립니다. –