Как открыть изображение, нажав на миниатюру в порядке сохранения изображения в NSArray? - PullRequest
0 голосов
/ 23 марта 2012

В моем приложении у меня есть представление в виде миниатюр, и я хочу, чтобы пользователь перешел к следующему представлению с изображением и щелкнул конкретный эскиз. Но это представление изображений присоединено к UIScroll с подкачкой и UIPagecontrol. Поэтому я хочу, чтобы конкретное изображение было открыто и по указанному индексу, чтобы пользователь мог провести пальцем влево или вправо, чтобы увидеть другие изображения. Это должно быть точно так же, как приложение iPhoone's Photo.

Пожалуйста, дайте мне ссылку или учебник, чтобы следовать этому. Я могу передать индекс и открыть определенное изображение, но просто не могу установить изображение по порядку.

Спасибо

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Чтобы немного расширить, вот код, который поможет вам выполнить некоторые из шагов, предложенных @Rahul Sharma:

// Вы можете сначала создать массив, содержащий ваши изображения, которые будут в UIScrollview,NSArray * images = [NSArray arrayWithObjects: [UIImage imageNamed: @ "...], nil];

// В этом примере images - это и массив UIImages, а imgScroll - ваш UIScrollView. Это создаст Scrollview сUIImageviews

 for (int i = 0; i < [images count]; i++){
        CGRect frame;
        frame.origin.x = self.imgScroll.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = CGSizeMake(self.imgScroll.frame.size.width, self.imgScroll.frame.size.height);

        UIImageView *subView = [[UIImageView alloc] initWithFrame:frame];
        subView.image = [frames objectAtIndex:i];
        subView.contentMode = UIViewContentModeScaleAspectFit;
        [self.imgScroll addSubview:subView];
        [subView release];
    }

    self.imgScroll.contentSize = CGSizeMake(self.imgScroll.frame.size.width * images.count, self.imgScroll.frame.size.height);
    [self.imgScroll setDelegate:self];

Затем вызовите метод делегата, чтобы узнать, когда прокручивается ваша imgScroll

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

Затем, используя индекс массива изображений, к которому вы хотите прокрутить, вы можете вычислитьсмещение этого UIImageView и установите scrollview для прокрутки к этому прямоугольнику при нажатии на миниатюру.

[imgScroll scrollRectToVisible:imgToDisplay //This is a CGRect// animated:NO]; 

Надеюсь, это поможет Tams

1 голос
/ 23 марта 2012

@ Ашутош

Я уверен, что следующие шаги могут быть полезны для вас.

1] Передайте индекс изображения, по которому щелкнули, вместе со всем источником данных (массив изображений) в деталиscreen.

2] Создайте вид прокрутки с определенными прямоугольниками для каждого изображения вместе с подкачкой.

3] Создайте прямоугольник для ранее выбранного индекса и сделайте вид прокрутки, чтобы прокрутить до этого конкретногоrect, соответственно обновите свой элемент управления страницей, чтобы показать нужную страницу.

4] Создайте метод, который будет обновлять элемент управления страницы, когда пользователь пролистывает галерею изображений с прокруткой и наоборот, т. е. при нажатии на элемент управления страницы нажимается кнопка update.ваш вид прокрутки.

Надеюсь, это поможет !!

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