Изменение UIImageView с прокруткой изображения - PullRequest
1 голос
/ 23 мая 2011

У меня есть NSMutbleArray с изображениями. Я поместил первое изображение в UIIageView, а затем хочу, чтобы пользователь перемещался между изображениями. Должен ли я сделать кнопку или есть другой метод? Могу ли я сделать это, когда пользователь коснется изображения, как фотография на IOS?

У меня есть еще один вопрос, пожалуйста. Некоторое время я вижу подобные кнопки, но когда я выбираю .xib, я не нахожу их?

image1

У меня есть только базовая кнопка для библиотек объектов

image2

помогите пожалуйста (и извините за мой английский)

Ответы [ 3 ]

2 голосов
/ 23 мая 2011

Пожалуйста, ознакомьтесь с докладом «Проектирование приложений с использованием прокрутки» из WWDC 2010.

Запустите здесь , войдите в систему, найдите этот заголовок и нажмите «Смотреть в iTunes».

0 голосов
/ 29 ноября 2011

Позвольте мне сначала ответить на ваш второй вопрос.Небольшой элемент рядом с всплывающим меню управляет отображением элементов библиотеки:

Icon View List View

Что касается вашего первого вопроса, я предлагаю вам использовать распознаватели жестов смахивания.Во-первых, в вашем контроллере представления выполните действия для отправителей распознавания:

MyViewController.h

- (IBAction)showPriorImage;
- (IBAction)showNextImage;

MyViewController.m

- (IBAction)showPriorImage
{
    // You'll need to change this based on how you track the current image.
    if (self.currentImageIndex > 0)
        self.imageView.image = [self.images objectAtIndex:--self.currentImageIndex];
}

- (IBAction)showNextImage
{
    // You'll need to change this based on how you track the current image.
    if (self.currentImageIndex < self.images.count - 1)
        self.imageView.image = [self.images objectAtIndex:++self.currentImageIndex];
}

Затем в вашемXIB, найдите распознаватель жестов смахивания в библиотеке:

Swipe Gesture Recognizer

Перетащите распознаватель жестов смахивания на изображение.В инспекторе атрибутов установите направление смахивания влево.Затем найдите распознаватель в списке объектов (в левой части XIB) и перетащите его с помощью элемента управления «Владелец файла».Выберите showPriorImage во всплывающем окне.

Теперь перетащите другой распознаватель жестов пальцем на изображение.Установите направление его движения вправо и подключите его к действию showNextImage на владельце вашего файла.

0 голосов
/ 29 ноября 2011

Уммммм, для места, с которого нужно начать:

-(void)viewDidLoad {

   UIButton *image = [UIButton buttonWithType:UIButtonTypeCustom];

   [self setCurrentIndex:0];

   [image setImage:[array objectAtIndex:0] forState:UIControlStateNormal];

   [image addTarget:self action:@selector(nextImage:) forControlEvents:UIControlEventTouchUpInside]

   [[self view] addSubview:image];
}

-(void)nextImage:(id)sender {
   UIButton *button = (UIButton *)sender;

   [self setCurrentIndex:[self currentIndex] + 1];

   if([self currentIndex] >= [array count]) {
       [self setCurrentIndex:0];
   }

   [button setImage:[array objectAtIndex:[self currentIndex]] forState:UIControlStateNormal];
}

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

Чтобы ответить на ваш второй вопрос: эти кнопки предназначены для приложений Mac, а не для приложений iPhone.Вы не увидите их при создании xib, потому что iPhone их не поддерживает.

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