Проблема с contentOffset - PullRequest
       1

Проблема с contentOffset

0 голосов
/ 31 мая 2011

Сейчас я работаю над приложением, которое использует пользовательский 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}

1 Ответ

0 голосов
/ 31 мая 2011

Исходя из значений мусора, похоже, что представление прокрутки и веб-представления не были добавлены в иерархию представлений или не были подключены через розетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...