#iphone #ios #nstimer
#iPhone #iOS #nstimer
Вопрос:
Как периодически менять изображения с помощью NSTimer в программировании iPhone?
Я создаю представление изображения для загрузки изображений.
Я хочу отображать изображения в imageview и периодически менять изображения с помощью NSTimer.
Ответ №1:
Вместо использования NSTimer я бы просто использовал множество пользовательских изображений и анимировал их. Смотрите документацию отсюда.
Комментарии:
1. Результатом этого метода является более плавная анимация со многими большими изображениями.
2. Как бы я мог добавлять и удалять изображения, используя это? Сделайте временные интервалы немного длиннее, но также какой метод вызывает изменение fadeinandout / alpha в uiimageview?
Ответ №2:
импортируйте понравившиеся изображения в приложение bundle, назвав их image1.png, image2.png, image3.png и так далее….
Добавьте UIImageView в interface builder, назовите его (ссылка) «theImage»
в файле H:
@interface delme3ViewController : UIViewController {
UIImageView *theImage;
int imageCount;
}
@property (nonatomic, retain) IBOutlet UIImageView *theImage;
@end
в файле M:
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(animateFunction)
userInfo:nil
repeats:YES];
imageCount = 1;
}
-(void)animateFunction
{
NSLog(@"Timer heartbeat %i",imageCount);
imageCount = imageCount 1;
NSString *imageName = [NSString stringWithFormat:@"image%i.png"];
[theImage setImage:[UIImage imageNamed:imageName]];
}
Ответ №3:
вы также можете использовать массив имен изображений вместо переименования изображений в вашем пакете. 🙂
Комментарии:
1. Или можно использовать массив объектов UIImage. (Хотя из-за способа, которым система кэширует изображения, это обычно не дает никаких преимуществ.)