Приложение, которое я разрабатываю, использует пользовательские объявления.Я получаю рекламу нормально, и сетевая сторона работает правильно.У меня проблема в том, что когда AdController получает объявление, он анализирует объект JSON, а затем запрашивает изображение.
// Request the ad information
NSDictionary* resp = [_server request:coords_dict isJSONObject:NO responseType:JSONResponse];
// If there is a response...
if (resp) {
// Store the ad id into Instance Variable
_ad_id = [resp objectForKey:@"ad_id"];
// Get image data
NSData* img = [NSData dataWithContentsOfURL:[NSURL URLWithString:[resp objectForKey:@"ad_img_url"]]];
// Make UIImage
UIImage* ad = [UIImage imageWithData:img];
// Send ad to delegate method
[[self delegate]adController:self returnedAd:ad];
}
Все это работает, как и ожидалось, и AdController просто тянет изображение ...
-(void)adController:(id)controller returnedAd:(UIImage *)ad{
adImage.image = ad;
[UIView animateWithDuration:0.2 animations:^{
adImage.frame = CGRectMake(0, 372, 320, 44);
}];
NSLog(@"Returned Ad (delegate)");
}
Когда вызывается метод делегата, он записывает сообщение на консоль, но для анимации UIImageView* adImage
требуется до 5-6 секунд. Из-за способа обработки приложенияПо запросу объявлений анимация должна быть мгновенной.
Анимация для скрытия рекламы немедленная.
-(void)touchesBegan{
[UIView animateWithDuration:0.2 animations:^{
adImage.frame = CGRectMake(0, 417, 320, 44);
}];
}