У меня есть несколько изображений, которые я хочу переключить. Существует простая функция, я сделал для этого:Переключение изображений с использованием NSTimer
-(void)imageSlide{
if (!isMoved){
CGRect frame = self.imageSlideshow.frame;
frame.origin.x = self.imageSlideshow.frame.origin.x - 320;
self.imageSlideshow.frame = frame;
NSLog(@"1 caze work");
isMoved = YES;
}
if (isMoved){
CGRect frame = self.imageSlideshow.frame;
frame.origin.x = self.imageSlideshow.frame.origin.x + 320;
self.imageSlideshow.frame = frame;
NSLog(@"2 caze work");
isMoved = NO;
}
}
Существует NSTimer, которые называют эту функцию:
[NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(imageSlide)
userInfo:nil
repeats:YES];
BOOL isMoved;
помещены в реализации класса.
Что я хочу, чтобы удалить изображение, а затем снова показать (и повторить его каждые 2 секунды). Было бы неплохо иметь гладкую анимацию.
Этот код:
for (int i=0; i<99; i++){
self.imageSlideshow.image = [UIImage imageNamed:(i % 2) ? @"ipd1.jpg" : @"ipd2.jpg"];
CATransition *transition = [CATransition animation];
transition.duration = 1.0f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;
[self.imageSlideshow.layer addAnimation:transition forKey:nil];
}
Также не работает, не знаю почему. Изображение неподвижно. Я импортировал библиотеку кварца и включал заголовки.
http://stackoverflow.com/questions/7638831/fade-dissolve-when-change-uiimageviews-image/38350024 # 38350024 –