Сейчас я работаю над приложением, которое использует пользовательский splitView, у него есть PDFTableController
, которое представляет rootViewController и таблицу popover, и у меня есть AffirmaPDFViewController
, которое представляет detailViewController.
Способинтерфейс настроен так, что есть scrollView, а внутри scrollView есть три WebView, которые загружают PDF-файлы для просмотра.Эти веб-представления имеют ширину 1024 пикселя и расположены рядом друг с другом, что позволяет выполнять смахивание.
Когда я выбираю элемент из таблицы, я возвращаю как выбранный элемент, так и номер строки, поскольку мне нужно изменить происхождениеscrollView по множителю, который представлен номером строки.мой код показан ниже:
start = ((i) * 1024);
NSLog(@"%d", start);
scrollView.contentOffset = CGPointMake(webView1.frame.origin.x + start, webView1.frame.origin.y);
i
- это номер строки, который предоставляется PDFTableController
.Переменная start
выходит с соответствующим значением (0, 1024, 2048 и т. Д.), И scrollView перемещается.Однако это не меняет того, какой webView отображается.Кто-нибудь знает, почему это так?
Чтобы настроить веб-представления, которые я использовал IB, я изменяю некоторые свойства при повороте:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
if(fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
counter = 0;
webView1.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
webView2.frame = CGRectMake(768, 0, self.view.frame.size.width, self.view.frame.size.height);
webView3.frame = CGRectMake(1536, 0, self.view.frame.size.width, self.view.frame.size.height);
isLandscape = NO;
}
else {
counter = 0;
webView1.frame = CGRectMake(0, 0, 1024, 724);
webView2.frame = CGRectMake(1024, 0, 1024, 724);
webView3.frame = CGRectMake(2048, 0, 1024, 724);
isLandscape = YES;
}
[webView1 reload];
[webView2 reload];
[webView3 reload];
}
Вызовы [________ reload];
происходят из-запроблема с загрузкой в WebViews PDF и вращением, я знаю, что это немного натянуто, но это единственное исправление, которое мне удалось найти
Я загружаю контент в webViews:
- (void)viewDidLoad {
pdfURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"affirma" ofType:@"pdf"]];
[webView1 loadRequest:[NSURLRequest requestWithURL:pdfURL]];
pdfURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"recursion" ofType:@"pdf"]];
[webView2 loadRequest:[NSURLRequest requestWithURL:pdfURL]];
pdfURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"review" ofType:@"pdf"]];
[webView3 loadRequest:[NSURLRequest requestWithURL:pdfURL]];
}
2011-05-31 10: 38: 16.465 AffirmaPDF [1927: 207] {{1.17666e-40, 3.4481e-36}, {1.35492e-41, -1.99922}}
2011-05-31 10: 38: 16.467 AffirmaPDF [1927: 207] {{2.98701e-41, 1.35492e-41}, {0, -1.99921}}
2011-05-31 10:38: 16.468 AffirmaPDF [1927: 207] {{2.19627e-37, 3.4481e-36}, {3.48195e-41, 3.4481e-36}}
2011-05-31 10: 38: 16.469 AffirmaPDF[1927: 207] {{2.19615e-37, 2.55515e-39}, {2.19615e-37, -1.99921}}
2011-05-31 10: 38: 16.470 AffirmaPDF [1927: 207]{0, 0}
2011-05-31 10: 38: 16.470 AffirmaPDF [1927: 207] {0, 0}