2011-02-22 6 views
1

내 데이터를 업데이트하는 다양한 방법으로 하위 뷰가 있고 [self setNeedsDisplay]를 호출합니다. drawRect를 호출하여 뷰를 업데이트한다.viewController에서 호출 할 때 다시 그리기가 발생하지 않습니다.

viewController에서이 메서드 중 하나를 호출하면 데이터가 업데이트되지만 drawRect는 호출되지 않습니다.

하위 뷰가의 ViewController의 속성으로서 첨가되는 다음의 ViewController에 @property (nonatomic,retain) MyView *myView;

및 개시 :

@synthesize myView; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    myView = [[MyView alloc] init]; 

    } 

내가 [myView exampleMethod];

와의 ViewController 뒷부분 MYVIEW의 메소드를 호출 viewController에서 호출 된 메소드가 서브 뷰를 다시 그리게하는지 어떻게 확인할 수 있습니까?

+0

뷰 컨트롤러 뷰의 하위 뷰는 언제 표시됩니까? viewDidLoad에 할당 할 때 Nib에서보기를로드하지 않는 것 같습니다. 그런 다음 뷰를 제대로 작동하려면 뷰 체인을 하위 뷰로 추가해야합니다. – MHC

+0

이것이 문제였습니다. 나는 혼란스러운 레이아웃을 가지고 있으며, 언급 된 뷰는 표시되지 않았습니다. – apfrod

답변

1

당신은 전화를 할 필요가 없습니다

[self.view setNeedsDisplay]; 

:

보기 컨트롤러의 기본보기가 그냥 "보기"당신이 당신의 자신 만들고 싶어, 당신이 그것을 추가해야이라고

다음과 같이 뷰를 교환하거나 다음과 같이 변경합니다.

self.view = myView; 
//or 
[self.view addSubview:myView]; 
+0

나는 약간 리팩터링해야했지만 제대로 작동 시켰습니다. 감사 – apfrod

관련 문제