2012-04-17 31 views
2

我知道IKImageBrowserView可以設置爲控制QuickLook面板,但是如何以編程方式顯示該面板?QuickIook with IKImageBrowserView

謝謝

+1

真相被告知,我能夠用這種伎倆來顯示面板:我設置的瀏覽器作爲第一個響應,然後我模擬的擊鍵空格鍵。有沒有更清潔的解決方案? – user732274 2012-04-18 09:09:21

+1

有點hackisch ..以及如果空間沒有配置顯示QL - >自定義視圖可以忽略它/有另一個關鍵它的氣味..用戶可以改變它或蘋果可以在10.9 ..沒有模擬按鍵isn' t很酷IMO – 2013-05-05 19:41:12

回答

2
[ik.window makeFirstResponder:ik]; 
QLPreviewPanel *panel = [QLPreviewPanel sharedPreviewPanel]; 
[panel updateController]; 
[panel makeKeyAndOrderFront:nil]; 
+0

適用於任何視圖,可以充當面板的數據源 – 2013-05-05 19:42:08

+0

EXTREMELY USEFUL,沒什麼可說的。大! – user732274 2013-05-05 22:35:36

+0

如果我在更新其控制器之前關閉面板(向代碼添加指令),我實際上會得到一個「切換」行爲(這正是我想要的)。這是做這件事的正確方法嗎? – user732274 2013-05-06 09:05:24

0

只要你-[IKImageBrowserItem imageRepresentationType]回報IKImageBrowserNSURLRepresentationTypeIKImageBrowserPathRepresentationType,所有你需要做的就是設置 -[IKImageBrowserView setCanControlQuickLookPanel:YES] ,然後你將有QuickLook的支持。

但是,如果dataSoure返回項既不是URL或路徑,也必須在IKImageBrowserView子類中實現QLPreviewItem協議,並返回請求的自定義單元的URL。

參見:IKImageBrowserView class ref獲取更詳細的信息

+0

我很想知道爲什麼這個解決方案在IKImageBrowerView類參考中清楚地陳述過,不適合你。 – 2013-05-06 00:53:16

+0

這不是我所問的:當我說「我知道IKImageBrowserView可以設置爲控制QuickLook面板」我的意思是我已經在做你寫的東西了。實際上你寫的和我接受的答案完全不一樣。 – user732274 2013-05-06 08:25:47

+0

感謝您的澄清。 – 2013-05-06 18:07:31