2013-12-17 2 views
0

모달 스타일로 뷰 컨트롤러를 표시해야하는 코드에서 작업하고 있습니다. 내가 직면 한 문제는 뷰가 표시 될 때 이전 뷰의 viewDidDisappear가 호출되어 필요한 일부 속성의 할당이 해제된다는 것입니다. viewDidDisappear가 호출되지 않도록하려면 어떻게해야합니까?뷰가 모달로 표시 될 때 viewDidDisappear가 호출됩니까?

답변

2

이 문제를 해결하기위한 플래그를 사용할 수 있습니다. 당신이 모달 뷰가 플래그, 사실 여부를 viewDidDisappear 검사에서 거짓

  • 에 플래그를 설정 제시하는 경우 viewWillAppear 방법에서

    1. 사실
    2. 에 플래그를 설정 예 리소스를 해제하면

    처럼 :

    : 같은

    선언 플래그

    9,같은 방법 구현 :

    - (void)viewWillAppear:(BOOL)animated 
    { 
        flag = true; 
    } 
    
    
    - (void)viewWillDisappear:(BOOL)animated 
    { 
        if (flag) 
        { 
         //release resources 
        } 
    } 
    
    
    - (IBAction)showModal:(id)sender 
    { 
        //Assuming you are using such a method to display the modal view 
        flag = false; 
    } 
    
  • 0

    을이 작업을 수행하려면 두지. 왜냐하면 viewDidDisappear 호출을 유도하는 뷰 컨트롤러를 밀어 넣거나 제시했을 때. 한 가지를 할 수 있습니다. 보기가 진행되는 동안 전화가 사라지고 프리젠 테이션 후 set flag으로 기능을 차단하고 기각하기 전에 reset flag을 닫습니다.

    관련 문제