2012-09-13 5 views
3

누구나보기를 다시로드하는 방법을 알려줄 수 있습니까? 내 프로그램에서 탭보기 컨트롤러가 있습니다. 탭에 "A"라는 항목이 하나 있습니다.이 "A"항목이 가리키고 있습니다. viewController.In보기 컨트롤러, 일부 데이터를 표시하고 UIActionSheet 포함되어 있습니다. 작업 버튼에 하나의 버튼 - 삭제가 있습니다.이 삭제 버튼은 특정 데이터를 삭제하기위한 것입니다. 내 문제는 이러한 삭제 된 데이터가 표시되지 않도록 해당보기를 다시로드해야한다는 것입니다. 아무도 페이지를 새로 고침하는 방법을 알려주세요. 나는UIViewController를 다시로드하는 방법

[self presentModalViewController:historyView animated:YES]; 
[historyView setNeedsDisplay]; 

전에 다음 코드를 포함 시켰습니다하지만 일부 오류 보여주고있다 : -

No visible @interface for viewcontroller declares the selector 'setNeedsDisplay' 

나에게 해결책을 알려주세요 .. :(

답변

6

의 UIViewController 클래스가 없습니다 메서드 setNeedsDisplayUIView 클래스에는이 메서드가 있으므로 다음과 같이 쓸 수 있습니다.

[historyView.view setNeedsDisplay]; 

그러나이 방법은보기를 다시로드하지 않습니다. 리시버의 전체 경계 사각형을 다시 그려야한다고 표시합니다 (애플 문서 iOS Developer Library에서). 결과적으로 drawRect 메서드가 호출됩니다.

당신이 필요할 때 데이터를 삭제 한 후 뷰가 처음로드 될 때 호출 후 (에있는 viewDidLoad 방법) 예를 들어 당신의 뷰 컨트롤러에 같은 initializeUI를 자신의 함수를 만들 수 있습니다 문제를 해결하기 위해 업데이트 될 뷰.

관련 문제