presentOpenInMenuFromRect的第一个参数是什么意思?

时间:2013-01-02 07:53:05

标签: ios5

UIDocumentInteractionController *documentController;

-(void)openDocumentIn

{

    NSString *filepath = [[NSBundle mainBundle]pathForResource:@"Learn Book" ofType:@"pdf"];
    NSLog(@"path:%@", filepath);
    if(filepath == nil)
    {
        NSLog(@"filepath is nil.");
        return ;
    }
    documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filepath]];
    documentController.delegate = self;
    documentController.UTI = @"com.adobe.pdf";
    CGRect navRect = self.navigationController.navigationBar.frame;
    navRect.size = CGSizeMake(1500.0f, 40.0f);
    [documentController presentOpenInMenuFromRect:navRect inView:self.view animated:YES ];
    //[documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES ];
}

我已将它从“CGRectZero”更改为“navRect”,但在运行后没有看到差异。为什么呢?

1 个答案:

答案 0 :(得分:0)

"presentOpenInMenuFromRect"的第一个参数是锚定菜单的位置(在 view 的坐标系中)。

执行“CGRectZero”将无法正常工作,因为这意味着您需要一个零高度的矩形。宽度。做整个navigationBar(就像你在那里“navRect”所做的那样)也不会起作用。

最好将矩形设置为显示在触发UIDocumentInteractionController的按钮下方或旁边。