0

私は1つのアプリケーションを開発しています。その中で、以下のように uiwebview に pdf をロードしています。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filename1 = [[paths objectAtIndex:0] stringByAppendingPathComponent:[default1 objectForKey:@"KeyToSelectedFile"]];
NSString *fileName=[filename1 stringByAppendingPathComponent:[default1 objectForKey:@"keyToAppearfile"]];
NSLog(@"%@",fileName);
//NSString *bookpath=[filename1 stringByAppendingPathComponent:book];
NSURL *url = [NSURL fileURLWithPath:fileName];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
web=[[UIWebView alloc]initWithFrame:CGRectMake(20,80, 980, 690)];
web.delegate=self;
[web loadRequest:request];
web.backgroundColor=[UIColor clearColor];
[self.view addSubview:web];

最初は、これによりアプリケーションがクラッシュします。2回目以降はpdfが正しく表示されます。アプリがクラッシュしたときにエラーは表示されませんでした。何が問題なのかわかりませんでした。

4

2 に答える 2

0

Documents インタラクション コントローラーを使用することもできます。それを使用してpdfファイルを表示する方が良い方法です。その実装も非常に簡単です。ここに参照リンクがあります: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html お役に立てば幸いです。乾杯!!

- (UIDocumentInteractionController *) setupControllerWithURL: (NSURL) fileURL
usingDelegate: (id <UIDocumentInteractionControllerDelegate>) interactionDelegate {

   UIDocumentInteractionController *interactionController =
    [UIDocumentInteractionController interactionControllerWithURL: fileURL];
   interactionController.delegate = interactionDelegate;

   return interactionController;
}
于 2012-09-24T06:56:08.673 に答える
0

Web サーバーから PDF をロードするのに少し時間がかかります..そのロード プロセスで、アクティビティ インジケータも追加できます...

于 2012-09-24T06:57:04.533 に答える