【问题标题】:How to put the QLPreviewPanel show as a popover in cocoa?如何将 QLPreviewPanel 显示为可可中的弹出框?
【发布时间】:2014-07-20 11:53:40
【问题描述】:

我想制作一个可以像聚光灯搜索实现那样显示为弹出框的弹出框?我只能使用传统方式在中心显示 Quicklook 窗口,但我想做这样的事情:

我该怎么做?谢谢。

【问题讨论】:

    标签: objective-c macos popover quicklook


    【解决方案1】:

    这可以通过创建一个嵌入在NSPopover 中的QLPreviewView 实例来实现。

    然后,创建一个符合 QLPreviewItem 协议的 NSObject 子类,并在 QLPreviewView 上设置 previewItem 属性,就像使用传统 QuickLook QLPreviewPanel 时一样。

    QLPreviewView *view = [[QLPreviewView alloc] initWithFrame:NSMakeRect(0, 0, 800, 100) style:QLPreviewViewStyleNormal];
    
    JPQuickLookItem *item = [[JPQuickLookItem alloc] init];
    item.previewItemURL = [NSURL fileURLWithPath:@"/Users/josh/Desktop/Test.png"];
    item.previewItemTitle = @"Test.png";
    view.previewItem = item;
    

    我创建了一个sample Swift implementation here

    【讨论】:

    • 你到底是从哪里得到 JPQuickLookItem 的?
    • JPQuickLookItem 只是一个符合QLPreviewItem 协议的简单类。我已经在this gist 中发布了实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多