Как обновить пример кода iOS PhotoScroller - PullRequest
1 голос
/ 21 декабря 2011

Я использую измененный пример кода из PhotoScroller в моем приложении. У меня есть табличное представление миниатюр изображений, и я могу передать массив изображений, которые заполняют эту таблицу, в PhotoViewController. В настоящее время PhotoViewController начинается с первого изображения в моем массиве, и я могу прокручивать его вперед и назад. Это работает как пример кода Apple.

Теперь я хочу нажать на ячейку таблицы с миниатюрой и начать прокручивать изображения, начиная с изображения в моем массиве с этим индексом. Пример: если у меня есть 5 изображений в таблице и я нажимаю на изображение № 3, я хочу, чтобы первое изображение в PhotoViewController было этим третьим изображением, и я мог прокручивать влево или вправо до № 2 или № 4. Надеюсь, это имеет смысл.

Я вижу в PhotoViewController, что для каждого изображения добавляются вложенные виды. В любом случае, я могу сказать, что "перейти к просмотру # 3", не разрушая другие виды или их общий порядок появления? Любые идеи или советы приветствуются. Код можно найти на сайте разработчиков iOS для примера кода PhotoScroller.

Хорошо, я болтаю ... Заранее спасибо за помощь!

1 Ответ

1 голос
/ 21 декабря 2011

То, как я это делаю, - это переменная с именем startingPage, которая устанавливается в инициализаторе контроллера просмотра фотографий. Затем, когда создаются страницы, сначала установите правильное смещение для представления прокрутки.

Так что в случае PhotoScroller это будет в loadView. Вот так:

- (void)loadView 
{
    // Step 1: make the outer paging scroll view
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    pagingScrollView.pagingEnabled = YES;
    pagingScrollView.backgroundColor = [UIColor blackColor];
    pagingScrollView.showsVerticalScrollIndicator = NO;
    pagingScrollView.showsHorizontalScrollIndicator = NO;
    pagingScrollView.contentSize = [self contentSizeForPagingScrollView];
    pagingScrollView.delegate = self;
    self.view = pagingScrollView;

    // Set the content offset of the scrollview
    CGRect bounds = pagingScrollView.bounds;
    CGPoint contentOffset = CGPointMake(bounds.size.width * startingPage, 0.0f);
    [pagingScrollView setContentOffset:contentOffset animated:NO];

    // Step 2: prepare to tile content
    recycledPages = [[NSMutableSet alloc] init];
    visiblePages  = [[NSMutableSet alloc] init];
    [self tilePages];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...