在iPhone上没有调用dismissViewControllerAnimated

时间:2015-04-26 05:39:46

标签: ios objective-c iphone ipad

我有以下代码,我正在尝试显示PDF预览。它在iPad上完美地说出来,但是当我试图在iPhone上进行操作时,它可以正常工作。

QLPreviewController* preview = [[QLPreviewController alloc] init];
        preview.dataSource = self;
        [self dismissViewControllerAnimated:YES completion:^{
            [self presentViewController:preview animated:YES completion:nil];
        }];

iPhone上的线程永远不会进入这一行

[self presentViewController:preview animated:YES completion:nil];

但在ipad上工作正常..我不知道甚至可以看什么。任何帮助都会被贬低。

2 个答案:

答案 0 :(得分:1)

要访问块内的实例/变量(在块外部声明),您需要声明这些实例/变量,如下所示: __block类型标识符=初始值(可选),例如,在您的情况下使用 __block QLPreviewController * preview = [[QLPreviewController alloc] init];

答案 1 :(得分:1)

尝试使用

[self.presentingViewController presentViewController:preview animated:YES completion:nil];

而不是

[self presentViewController:preview animated:YES completion:nil];