2016-09-30 2 views
2

이제는 최신 os10.12 운영 체제, PDF 주석을 표시 할 수 있지만 지금은 여전히 ​​문제가 있습니다. PDFView -> mouseDragged에서 좌표 정보를 기록한 후 자동으로 PDFView-> drawPage 함수를 호출하면,이 함수는 NSBezierPath 커브를 그려서 동적 주석 경계를 결정합니다. 하지만 이제는 mouseDragged가 drawPage : toContext 함수를 호출하지 않았습니다. 따라서 어노테이션 추가의 동적 인 곡선을 볼 수 없습니다. 나는 새로 고침 메서드를 사용하여 여전히 drawPage를 호출하지 않습니다. toContext, pdf 및 scroll 뷰 PDF 만 열려 있으면 drawPage : toContext가 호출됩니다. 이 함수를 호출하는 방법을 알고 싶습니다. 당신의 도움을 주셔서 대단히 감사합니다.OS 10.12에서 PDF 키트를 사용하여 PDF 주석 추가

+0

이 문제도 발생했습니다. 확대 또는 축소하면 주석이 표시됩니다. 그러나 나는 그것을 동적 인 디스플레이로 만드는 방법을 모른다. SetNeedsDisplay가 작동하지 않는 것 같습니다. – SuperBerry

+0

관련 : http://stackoverflow.com/questions/39868300/pdfview-setneedsdisplayyes-doesnt-work-on-macos-sierra-10-12 – sahandnayebaziz

답변

2

PDFKit sems는 현재 피클 비트로되어 있습니다. https://forums.developer.apple.com/thread/60440

drawPage : inContext :(이것은 drawPage : toContext에서 다루는 개인 메서드입니다)를 사용하여 성공했습니다. drawPage : inContext :를 클래스 확장 (모든 선택기를 정의해야 함)에 추가하고 호출되는지 확인합니다.

+0

[PDFView setNeedsDisplay : YES]는 drawPage : inContext :를 호출 할 것입니다. 하지만 setNeedsDisplay는 여전히 뷰를 다시 그리지 않습니다. – SuperBerry

+0

.h 파일에 추가하려고했지만 실패했습니다. 가능하다면 샘플을 보여 주시겠습니까? 내 인생을 구할 것입니다 .... – SuperBerry

+0

'@interface TSPDFPage() // TSPDFPage는 내 서브 클래스입니다.이 파일을 m 파일에 넣으십시오. // ARC는 선택자를 정의해야합니다. - (void) drawWithBox : (PDFDisplayBox) 상자 inContext : (CGContextRef) 컨텍스트; @end ' –