QLPreview

Open PDF with Preview SW

 

- (IBAction)pdfBtnClick:(id)sender {

 

    if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible])

    {

        // [[QLPreviewPanel sharedPreviewPanel] orderOut:nil];

        [[QLPreviewPanel sharedPreviewPanel] reloadData];

        [[QLPreviewPanel sharedPreviewPanel] refreshCurrentPreviewItem];

    }

    else

    {

        [[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil];

        [[QLPreviewPanel sharedPreviewPanel] refreshCurrentPreviewItem];

    }

}

 

 

#pragma mark - QLPanel

 

- (NSInteger)numberOfPreviewItemsInPreviewPanel:(QLPreviewPanel *)panel

{

    return 1;

}

 

- (id <QLPreviewItem>)previewPanel:(QLPreviewPanel *)panel previewItemAtIndex:(NSInteger)index

{

    self.previewURL = [NSURL fileURLWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"/test.pdf"]];

 

    return self.previewURL;

}

 

- (BOOL)acceptsPreviewPanelControl:(QLPreviewPanel *)panel;

{

    // without this method then you can’t set a dataSource or delegate

    return YES;

}

 

- (void)beginPreviewPanelControl:(QLPreviewPanel *)panel

{

    [panel setDelegate:self];

    [panel setDataSource:self];

    //once you’ve acceepted control then you can set up everything else

}

 

-(void)endPreviewPanelControl:(QLPreviewPanel *)panel

{

    //do what you need to do here to close the panel – personally it’s an empty method for me…

}

 

 

 


 

Open PDF with Preview View

 

 

@implementation FilePreviewItem

 

- (instancetype)init

{

    self = [super init];

    return self;

}

 

- (NSURL *)previewItemURL

{

    return self.myURL;

}

 

@end

 

@implementation PDFWindowController

- (void)windowDidLoad {

    [super windowDidLoad];

 

    // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.

 

    self.previewItem.myURL = self.url;

    self.qlView = [[QLPreviewView alloc] initWithFrame:NSMakeRect(0, 0, 50, 50) style:QLPreviewViewStyleNormal];

    self.qlView.translatesAutoresizingMaskIntoConstraints = NO;

    self.qlView.shouldCloseWithWindow = YES;

    self.qlView.previewItem = self.previewItem;

    [self.qlView refreshPreviewItem];

//    self.qlView.autostarts = YES;

 

    [self addRightSubview:self.qlView];

}

 

- (void)addRightSubview:(NSView *)subView

{

    [self.pdfView addSubview:subView positioned:NSWindowBelow relativeTo:self.pdfView];

    [self.pdfView addConstraints:@[[NSLayoutConstraint constraintWithItem:subView

                                                                        attribute:NSLayoutAttributeTop

                                                                        relatedBy:NSLayoutRelationEqual

                                                                           toItem:self.pdfView

                                                                        attribute:NSLayoutAttributeTop

                                                                       multiplier:1

                                                                         constant:0],

                                           [NSLayoutConstraint constraintWithItem:subView

                                                                        attribute:NSLayoutAttributeBottom

                                                                        relatedBy:NSLayoutRelationEqual

                                                                           toItem:self.pdfView

                                                                        attribute:NSLayoutAttributeBottom

                                                                       multiplier:1

                                                                         constant:0],

                                           [NSLayoutConstraint constraintWithItem:subView

                                                                        attribute:NSLayoutAttributeLeading

                                                                        relatedBy:NSLayoutRelationEqual

                                                                           toItem:self.pdfView

                                                                        attribute:NSLayoutAttributeLeading

                                                                       multiplier:1

                                                                         constant:0],

                                           [NSLayoutConstraint constraintWithItem:subView

                                                                        attribute:NSLayoutAttributeTrailing

                                                                        relatedBy:NSLayoutRelationEqual

                                                                           toItem:self.pdfView

                                                                        attribute:NSLayoutAttributeTrailing

                                                                       multiplier:1

                                                                         constant:0]]];

}

@end

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值