Этот код предназначен для Universal.UIScrollView прокручивает видимо, но NSLog показывает, что это не
У меня есть iPhone и iPad, которые почти идентичны. И они идентичны по отношению к типам объектов.
Я пытаюсь понять, почему мой контроль страницы не обновляется только на iPad. После игры с NSLog кажется, что на iPhone правильно работает метод scrollViewDidScroll
. Это не на iPad. При просмотре прокрутки нет журнала.
Я также поставил NSLog, чтобы сообщить мне текущую страницу. Он делает это на iPad, но только когда я вызываю loadVisiblePages
по моему методу viewDidLoad
, а не при прокрутке прокрутки.
Прошу игнорировать разделы, где я жестко закодировал первую и последнюю страницы, так как это обычно делается программно, но из-за этой небольшой ошибки мне пришлось загружать все страницы в память.
- (void)loadVisiblePages {
// First, determine which page is currently visible
CGFloat pageWidth = self.scrollView.frame.size.width;
NSInteger page = (NSInteger)floor((self.scrollView.contentOffset.x * 2.0f + pageWidth)/(pageWidth * 2.0f));
// Update the page control
self.pageControl.currentPage = page;
NSLog(@"Page number is %i", page);
// Work out which pages you want to load
NSInteger firstPage = 0; // page - 1;
NSInteger lastPage = 3; //page + 1;
// Purge anything before the first page
for (NSInteger i=0; i<firstPage; i++) {
[self purgePage:i];
}
// Load pages in our range
for (NSInteger i=firstPage; i<=lastPage; i++) {
[self loadPage:i];
}
// Purge anything after the last page
for (NSInteger i=lastPage+1; i<self.pageImages.count; i++) {
[self purgePage:i];
}
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
// Load the pages that are now on screen
[self loadVisiblePages];
NSLog(@"Scroll View Did Scroll");
}
Я бы предположил, что вы забыли связать свойство делегата scrollview в iPad 'xib' с тем же объектом, к которому вы подключили его в iPhone' xib'. – NJones
Посмотрите на размер содержимого прокрутки, если он меньше размера фрейма представления ipad, прокрутка прокрутки прокрутки (поскольку весь контент уже виден на экране), и поэтому scrollViewDidScroll никогда не будет вызван. дайте мне знать, если вы все еще сталкиваетесь с этой проблемой .. надеюсь, что это поможет .. – Kunal