2014-07-21 2 views
0

기존 창에서 사용자 정의보기를 그리는 데 문제가 있습니다. 나는 뷰에 값의 그래프를 그리는 데 사용하는 GraphView이라는 사용자 정의 클래스가 있습니다. 그래프는 매초마다 전달 된 변수를 가져오고 setNeedsDisplay:YES을 통해 다시 그려야합니다. 독립 실행 형 xCode 프로젝트에서이 동일한 클래스를 사용할 수는 있지만이 작업을 수행하려면 Interface Builder의 사용자 정의 뷰에서 File's Owner으로 드래그하고 뷰를 다시 그려야합니다. 모든 draw 코드는 standalone xCode 프로젝트에서 올바르게 작동하므로 내 drawRect 메서드를 알고 있고 다른 모든 뷰 메서드는 내가 의도 한대로 작동합니다. 또한 GraphView을 동일한 작업을 수행하면 현재 프로젝트에서 작동하지만 applicationDidFinishLaunching은 실행되지 않습니다.setNeedsDisplay : YES는 그리지 않습니다.

다음은 샘플 프로젝트의 코드입니다. 내가 [self.graph setNeedsDisplay:YES]으로 업데이트 할 수있는 뷰를 얻기 위해 내 GraphViewFile's Owner에에서 인터페이스 빌더에서 연결을 할 필요가 없도록 내가 부족 부분은 무엇

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    // This code does not run when I drag the custom view's referencing outlet to File's Owner in IB 
    self.graph = [[GraphView alloc]init]; 
} 

- (void)applicationWillTerminate:(NSNotification *)aNotification { 
    // Insert code here to tear down your application 
} 

-(IBAction)firstPoint:(id)sender{ 
    [self.graph addNewPoint:[self.textValue floatValue]]; 

    [self.graph setNeedsDisplay:YES]; 


} 

@end 

. 어떤 도움이나 방향을 주시면 감사하겠습니다.

답변

0

GraphView가 Interface Builder에 의해로드 된 경우 코드에 할당 할 필요가 없습니다. IB에 좋은 수업 이름을 표시하십시오.

다른 점은, 코드에서 init을 GraphView에 할당하고 IB를 사용하지 않으려면 addSubview를 잊지 마세요.

+0

알아두면 좋은 정보. 이로 인해 문제가 해결되었습니다. 나는 이것을 몇 시간 동안 싸워왔다. 도와 줘서 고마워. –

관련 문제