UIImageView анимация: ручное продвижение кадров - PullRequest
0 голосов
/ 09 августа 2011

Я занимаюсь разработкой приложения для iPhone с UIImageView. UIImageView заполняется из NSArray. Что я хотел бы знать, так это как вместо

[imageView startAnimating];

вызов, как я могу использовать UIButton для перехода между изображениями?

вот мой видDLLoad:

- (void)viewDidLoad
{
    imageView.animationImages = [NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"1.png"],
                                 [UIImage imageNamed:@"2.png"],
                                 [UIImage imageNamed:@"3.png"],
                                 nil];
;    imageView.animationDuration = 10.00;
    imageView.animationRepeatCount = 0;
    [imageView startAnimating];
    [super viewDidLoad];
    [self.view addSubview:imageView];

}

Кроме того, я хотел бы знать, как, на основе этого кода, как при запуске приложения иметь ImageView on image 1.png?

Спасибо всем.

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Вы не можете. [UIImage animationImages] предназначено для анимации, а не для эффекта слайд-шоу. Например, для ваших собственных реализаций UIActivityIndicator.

0 голосов
/ 09 августа 2011

Просто держите массив ваших UIImage под рукой и меняйте свойство изображения UIImageView при каждом нажатии кнопки.Возможно, что-то вроде этого:

// ivars
NSUInteger imageIndex;
NSArray *images;

// initialization
images = [[NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"1.png"],
                                 [UIImage imageNamed:@"2.png"],
                                 [UIImage imageNamed:@"3.png"],
                                 nil] retain];
imagesIndex = 0;
imageView.image = [images objectAtIndex:imagesIndex];

и в методе действия кнопки:

- (void)someAction:(id)sender {
  imagesIndex = (imagesIndex + 1) % [images count];
  imageView.image = [images objectAtIndex:imagesIndex];
}
...