2014-11-04 7 views
1

내 NSPopover를 내 프로젝트의 창으로 분리 할 수 ​​없었기 때문에 단순화하기 위해 Apple 예제를 사용해 보았습니다. http://developer.apple.com/library/mac/samplecode/Popover/Introduction/Intro.htmlNSPopover 샘플 코드가 창을 분리하지 않습니다.

그것은 같은 동작, 나도 그것을 분리 창을 끌 수 없습니다 말을하는 것입니다 :

나는 애플의 샘플 프로젝트의 새 복사본을 다운로드했습니다.

프로젝트는 모든 올바른 창과 컨트롤러를 제공하며 detachableWindowForPopover: 대리자 메서드를 구현합니다. 그러나이 메서드는 호출되지 않습니다.

탈착식 NSPopover에 대한 비밀을 아는 사람이 있습니까?

  • (BOOL) popoverShouldDetach : (NSPopover *) 팝 오버

다음은 질문을 입력하는 동안

답변

5

답을 찾을 수 ...

맥 OS X 10.10 요세미티 새로운 대리자 메서드가 있습니다 요세미티의 기본 동작은 '아니오'입니다 (분리하지 않아야 함). 따라서 델리게이트는 창을 분리 할 수 ​​있도록이 메서드를 구현해야합니다. 샘플 프로젝트는이 방법을 구현하지 않으므로 Yosemite에서 컴파일 할 때 분리되지 않습니다 (또한 여러 가지 사용 중단 경고가 생성됩니다. 업데이트가 필요하다는 힌트를 얻었을 수도 있습니다).

추가 : MyWindowController.m으로

- (BOOL)popoverShouldDetach:(NSPopover *)popover { 
    return YES; 
} 

문제를 해결합니다.