다른 뷰로 이동 한 경우 및 뷰 뷰를 다시 열 때 viewWillAppear 메서드가 호출되지 않습니다.viewWillAppear 메서드가 iPhone SDK를 호출하지 않습니다.
이유를 알려주세요.
다른 뷰로 이동 한 경우 및 뷰 뷰를 다시 열 때 viewWillAppear 메서드가 호출되지 않습니다.viewWillAppear 메서드가 iPhone SDK를 호출하지 않습니다.
이유를 알려주세요.
처음로드 할 때 viewWillAppear 메서드가 처음으로 호출됩니까? 사용해 보자.
다시[[자가 navigationController] popViewControllerAnimated : TRUE];
돌아갑니다 나는이 상황을 만났다. iOS 5에서는 괜찮습니다. 그러나 iOS 4.3.1에서 테스트 할 때 viewWillAppear이 호출하지 않습니다.
그래서 당신도 확인할 수 있으며, u는 잘 UR 응용 프로그램이 어떤 곳에 사용 중단 점을 추락하고 확인보다 수행하는 경우 수동으로
이당신이
[[self.navigationController.viewControllers objectAtIndex:0] viewWillAppear:YES];
[self.navigationController popViewControllerAnimated:YES];
여기에 우리의 문제는 두 개의 뷰 컨트롤러에서 너무 많은 탐색이 있습니다. 다시 버튼 컨트롤러에서 이것을 호출해야한다고 말한 것입니다. 그걸 실행하고 우리는 그것을 원하지 않는다. 우리는 마지막 백 버튼 핸들러에 대해서만이 메소드를 호출하려고한다. – user1179681
당신은'viewWillAppear :'를 수동으로 호출해서는 안된다; 발견되고 다루어 져야 할 더 깊은 문제가 있습니다. – titaniumdecoy
을 시도 할 수 viewWillAppear를 호출 할 필요 다음 단계 ...... FirstViewController
SecondViewController *second = [[SecondViewController alloc]init]
[self.navigationController pushViewController:second animated:TRUE];
에서 푸시에 대한
1 단계를 따릅니다 SecondViewController
// 체크 탐색 컨트롤러에서 팝에 대한
2 단계 UR 애플리케이션 스택에 존재
NSArray *arrView = [self.navigationController viewControllers];
NSLog(@"arrView %@",arrView);
for(int i = 0; i <[arrView count]-1, i++)
{
if([arrView objectAtIndex:i] isKindOfClass:[FirstViewController class])
{
[self.navigationController popViewControllerAnimated:TRUE];
}
}
그것은 이러한 문제가 뷰 컨트롤러 억제의 부적절한 사용으로 인해 발생되는 전형적인입니다. 당신은 당신의 뷰 컨트롤러 계층 구조를 살펴볼 필요가 다음과 같은 방법 연구 : 우리는 좀 더 많은 정보가 필요합니다 UIViewController Class Reference.
의 컨테이너보기 컨트롤러 섹션을 구현하는 읽기
을보기 어떻게하는지 등 수여된다. – rckoenes
뷰 자체에는 해당 기능이 없으며 viewcontroller만이 해당 기능을 수행합니다. 따라서 addSubview/removeFromeSuperview를 수행 할 때 호출되지 않습니다. ViewController를 push/pop하고 있다면, 어떻게하는지 보여줄 필요가있다. –
하나의 viewcontroller에서 다른 뷰 컨트롤러로 푸시합니다. – user1179681