2014-11-04 25 views
1

我還沒有能夠讓我的NSPopover分離到我自己的項目中的窗口,所以爲了簡化我嘗試了Apple示例。NSPopover示例代碼不分離窗口

我下載了蘋果的樣本項目的新副本:http://developer.apple.com/library/mac/samplecode/Popover/Introduction/Intro.html

它的行爲是相同的,這就是說,我不能將窗口拖動到任意卸下。

該項目似乎提供了所有正確的窗口和控制器,並實現了detachableWindowForPopover:委託方法。然而這個方法從來沒有被調用。

有誰知道可拆卸NSPopovers的祕密嗎?

回答

5

找到了答案,打字時的問題...

的Mac OS X 10.10優勝美地有一個新的委託方法:

  • (BOOL)popoverShouldDetach:(NSPopover *)酥料餅

的優勝美地的默認行爲是NO(不應該分離)。所以代表必須實現這個方法才能使窗口可拆卸。示例項目沒有實現此方法,因此在Yosemite上編譯時它不會分離(並且還會生成一些棄用警告 - 也許我應該已經提示它需要更新)。

添加:

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

要MyWindowController.m解決了這個問題。