2011-11-22 8 views
0

는 :표시 다음 코드에서 overwrapped보기없이 IOS에서보기

-(void)viewWillAppear 
{ 
    if(!first) 
    { 
     [self display]; 
    } 
} 

-(void) viewDidLoad 
{ 
    [self display]; 
} 


-(void) display 
{ 
    [self addsubview:a]; 
    [self addsubview:b]; 
    . 
    . 
    . 
} 

나는 뷰 1을 초기화합니다. 먼저 -viewDidLoad에서 -display 메서드는 뷰 a와 b를 추가합니다. 그러면 다른 뷰로 이동하여이 뷰 1로 돌아옵니다. 따라서 -viewWillAppear이 호출됩니다. 보기 a에서보기 b가 다시 추가되고보기 1에서보기 a 및 b가 두 번 나타납니다.

보기 a와 b를 한 번만 갖고 싶습니다.

-viewDidLoad이 실행되기 전에 뷰 상태를 어떻게 만들 수 있습니까?

답변

0

내가 당신의 질문을 이해한다면, 당신은 -viewWillDisappear에서 파단을 제거 할 수 있습니다

-(void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 

    [a removeFromSuperview]; 
    [b removeFromSuperview]; 
}