2014-11-04 11 views
1

Мне не удалось заставить мой NSPopover отсоединиться от окна в моих собственных проектах, поэтому для упрощения я попробовал образец Apple.Код примера NSPopover не отделяет окно

Я скачал свежую копию проекта образца Apple: http://developer.apple.com/library/mac/samplecode/Popover/Introduction/Intro.html

Он ведет себя тот же, который должен сказать, что я не могу перетащить окно, чтобы отсоединить его либо.

Проект, кажется, предоставляет все правильные окна и контроллеры и реализует метод делегата . Однако метод никогда не вызывается.

Кто-нибудь знает секрет для съемных NSPopovers?

ответ

5

Найден ответ, печатая вопрос ...

Mac OS X 10,10 Yosemite имеет новый метод делегата:

  • (BOOL) popoverShouldDetach: (NSPopover *) поповер

поведение по умолчанию на Yosemite равно NO (не следует отсоединять). Поэтому делегаты должны реализовать этот метод, чтобы окна были съемными. Пример проекта не реализует этот метод, поэтому, когда он компилируется на Yosemite, он не будет отсоединен (а также выдаст несколько предупреждений об утомлении), возможно, я должен был принять этот намек на необходимость обновления).

Добавление:

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

Чтобы MyWindowController.m исправляет эту проблему.