2014-04-01 2 views
0

사용자 정의 NSView가있는 창이 있습니다. NSWindowController를 사용하여 코드에서 NIB를로드합니다.NSWindowController showWindow 트리거 포함 NSView setNeedsDisplay?

질문 : NSWindowController에 대한 showWindow 메시지를 보내면 창 계층 구조에 포함 된 사용자 정의 NSView에 대한 setNeedsDisplay 메시지를 보냅니 까? -drawRect 내부에 사용되는 값이 후 을 변경하면

+0

잘 모르겠습니다. 너는 그것을 시도하고 알아 내는게 어때? 'drawWect :'메소드는'showWindow'의 일부로 확실히 불려질 것입니다. –

+0

@AbhiBeckert, 예, 시도해 보겠습니다.하지만 여기에 더 많은 경험을 가진 사람들의 마음을 사로 잡을 것이라고 생각했습니다. – xBACP

답변

1

는 일반적으로 당신은 오직 뷰가 처음으로 나타납니다 [self setNeedsDisplay:YES]을 보내야합니다. 항상 self에 의해 보내야하며 다른 개체는 버그 또는 무엇인가를 제외하고는 -setNeedsDisplay: 메시지를 보낼 필요가 없습니다.

showWindow은 처음에 화면에 그려지기 전에는 일반적으로 -setNeedsDisplay:이 필요하지 않습니다 (다시 말하면).

메뉴 항목 Xcode -> Open Developer Tool -> More Developer Tools...을 열고 "그래픽"을 검색하면 도구 모음을 다운로드 할 수 있으며 그 중 하나는 Quartz Debug입니다. 이 디버거를 사용하면 화면을 그릴 때마다 화면이 노란색으로 깜박이고 이미 표시되어있는 화면 만 다시 그릴 때마다 빨간색으로 표시됩니다.

화면의 어떤 부분이 너무 자주 새로 고쳐지는지 알 수 있습니다.

+0

여기 첫 문장은 꽤 좋은 대답으로 생각하거나 가까이 있습니다. 감사. – xBACP