0
프린트 할 사용자 지정 NSView 하위 클래스가 있습니다. 나는 컨트롤러가 다음 코드 실행이 : 나는 브레이크 포인트를 설정하면NSPrintOperation이 drawRect를 호출하지 않습니다 :
MyCustomView *printableView = [[MyCustomView alloc] init];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:printableView];
[po runOperation];
는,이 코드가 실행됩니다를하고, NSView의에서 사용자 정의 페이지 매김 방법 (knowsPageRange:
및 rectForPage:
)의 실행을 얻을 수 있지만, 뷰의 drawRect:
방법은 결코 호출되지됩니다 . 인쇄 대화 상자를 표시하지만 인쇄되는 것은 모두 빈 페이지입니다.
내 drawRect:
메서드가 호출되지 않는 이유는 무엇입니까? 제가해야 할 일종의 설치가 있습니까?
예, init는'[super initWithFrame : someRect]'를 호출하지만, 그 프레임은 나중에 페이지 크기에 맞게'rectForPage :'에서 수정됩니다. –
'-rectForPage :'중에 뷰 프레임을 수정하는 것이 이상하게 보입니다. 당신은 그것을 시작하기위한 적당한 프레임을주고 시도하지 않았습니까? 또한 사용자 정의 페이지 매김을 구현하지 않으려 고 시도한 적이 있습니까? –
내 사용자 정의 하위보기에는 "frameSize"라는 속성이 있는데, 같은 이름의 기존 함수를 방해하여 0에 걸렸습니다. 귀하의 대답은 제가 문제를 찾는데 도움이되었습니다! 감사! –