Я хочу, чтобы анимация изображений на нескольких UIImageViews.Image идет с сервера с Url, поэтому я запрашиваю url и конвертирую его в изображение, и я даю анимацию uiimageview, т.е. crossdissolve, возникает одна проблема. Ссылка на изображение меняется в UIImageView означает сначала время, когда оно отображает разные изображения, и когда я прокручиваю затем другой образ на том же UIImageView. Эта проблема будет возникать только в первый раз, потому что я поддерживаю imagecache. Любая идея об этом неистово? ». Ниже приведен код, который я использовал.Почему ссылка UIImage меняется, когда я даю анимацию UIImageView?
-(void)requestForImage:(NSString*)strURL{
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
NSURLRequest *request;
NSString * newImageURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
request = [NSURLRequest requestWithURL:[NSURL URLWithString:newImageURL]];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
UIImage *image = [UIImage imageWithData:data];
if ([data length] > 0 && error == nil && image) //If success
{
//receive data
[[myImage sharedMyclass] setImage:image withKey:strURL];
dispatch_queue_t queue_ = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue_, ^{
UIImage *image = [[myImage sharedMyclass] imageForURL:strURL]; //That return image from particular path
[self performSelectorOnMainThread:@selector(receivedImage:) withObject:image waitUntilDone:NO];
[data writeToFile:[[NSUserDefaults standardUserDefaults] valueForKey:strURL] atomically:YES];
dispatch_sync(dispatch_get_main_queue(), ^{
[UIView transitionWithView:self
duration:2.0
options: UIViewAnimationOptionTransitionCrossDissolve|UIViewAnimationOptionAllowUserInteraction
animations:^{
self.image = image;
}
completion:NULL];
self.contentMode = UIViewContentModeScaleAspectFit;
});
});
}
}];
}