Разность UIWebView между iOS 4 и iOS 5 при чтении pdf-файла

Я нашел разницу между iOS 4 и iOS 5, которые вызвали ошибку в моем коде. Когда я создаю UIWebView , он также создает UIWebBrowserView под названием UIWebBrowserView с фреймом размером 577 x 533. Затем я загружаю PDF-файл в UIWebView и здесь между iOS 4 и 5. между iOS 4 и 5. существует разная обработка, когда обработка достигает метода «webViewDidFinishLoad:», UIWebBrowserView все еще существует с фреймом 577 x 2947 (размер pdf, я полагаю), а в iOS 5 UIWebBrowserView больше не существует, и на его месте есть UIWebPDFView с фреймом 577 x 533 (здесь я ожидал рамки размером 577 x 2947). Наконец, я вызываю событие и представления так, как я ожидал ( UIWebBrowserView с фреймом 577 x 2947 в iOS 4 и UIWebPDFView с фреймом 577 x 2947.4 в iOS 5).

Проблема в том, что когда файл pdf загружается, когда обработка достигает метода «webViewDidFinishLoad:», я хотел бы поместить заметки в файл PDF, но в этом методе UIWebPDFView еще не имеет реального размера pdf. Если я просто поставлю заметки, они не появятся. В iOS 4 он работал, но в iOS 5 он больше не работает. Кто-нибудь может помочь в том, как я могу поместить заметки в загрузку webview?

Вот код, который показывает, что различное поведение iOS и ниже журнала.

 ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UIWebViewDelegate, UIGestureRecognizerDelegate> { IBOutlet UIView *view; IBOutlet UIWebView * webView; } - (void)handleTap:(UITapGestureRecognizer *)recognizer; @end ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [webView setUserInteractionEnabled:YES]; [view bringSubviewToFront:webView]; //Load view with a pdf file NSString *path = [[NSBundle mainBundle] pathForResource:@"pdf_teste" ofType:@"pdf"]; NSData *pdfData = [NSData dataWithContentsOfFile:path]; [webView loadData:pdfData MIMEType:@"text/pdf" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]]; //Log NSLog(@"On viewDidLoad: %@", [[webView viewForZoomingInScrollView:(UIScrollView *)[[webView subviews] objectAtIndex:0]] description]); //Add a tap gesture recognizer UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; recognizer.delegate = self; [webView addGestureRecognizer:recognizer]; } - (void)webViewDidFinishLoad:(UIWebView *)view { //Log NSLog(@"On webViewDidFinishLoad: %@", [[webView viewForZoomingInScrollView:(UIScrollView *)[[webView subviews] objectAtIndex:0]] description]); //I'd like to insert the saved notes here. } - (void)handleTap:(UITapGestureRecognizer *)recognizer { //Log NSLog(@"On Tap Event: %@", [[webView viewForZoomingInScrollView:(UIScrollView *)[[webView subviews] objectAtIndex:0]] description]); } @end 

Журнал:

iOS 5.1

2012-03-30 14: 24: 28.075 WebViewTest [173: 707] On viewDidLoad:>

2012-03-30 14: 24: 28.823 WebViewTest [173: 707] В webViewDidFinishLoad:> 30 марта 14:24:29 iPad2-de-ASDS WebViewTest [173]: OPDILG + TT857o00: Ошибка FT_Select_Charmap: ошибка 38.

2012-03-30 14: 24: 47.167 WebViewTest [173: 707] В Pan Event:>

iOS 4.3.5

2012-03-30 14: 13: 46.285 WebViewTest [823: 607] On viewDidLoad:>

2012-03-30 14: 13: 47.049 WebViewTest [823: 607] В webViewDidFinishLoad:> 30 марта 14:13:47 BNBConsult01 WebViewTest [823]: OPDILG + TT857o00: Ошибка FT_Select_Charmap: ошибка 38.

2012-03-30 14: 14: 48.199 WebViewTest [823: 607] В Pan Event:>

Interesting Posts
Давайте будем гением компьютера.