2011-01-26 3 views
0

다른 ViewController (DetailViewController)를 표시하기 위해 pushViewController를 호출하는 루트 ViewController (RootViewController)가 있습니다. DetailViewController에서 루트 ViewController에 표시된 내용에 영향을주는 편집을합니다. 그래서 DetailViewController가 popViewControllerAnimated를 통해 제거 된 후에 RootViewController에서 뷰를 다시 그려야합니다.popViewControllerAnimated 이후 ViewController 새로 고침

문제는 setNeedsDisplay가이 시나리오에서 작동하지 않는 것입니다. RootViewController의 viewWillAppear 방법, 나는 전화 :

[self.view setNeedsDisplay] 

그러나, RootViewController보기의 내용이 업데이트되지 않습니다. 그래서 setNeedsDisplay가 작동하지 못하게하는 탐색 컨트롤러에 대해 뭔가 궁금합니다. 내가 찾을 수

유일한 해결 방법은 전체보기

self.view = nil; 

답변

2

을 다시 그립니다의 viewDidLoad에 전화를 강제로 다음 코드는, 당신은 viewWillAppear 대신있는 viewDidLoad에서보기를 업데이트 할 수 있다는 것입니다. setNeedsDisplay를 호출 할 필요가 없습니다.

+1

하지만 viewWillAppear에서 왜 [self.view setNeedsDisplay]가 작동하지 않는지 궁금합니다. 이론적으로 이는 뷰를 다시 그려야합니다. – user542428

관련 문제