Я столкнулся с подобной проблемой, когда попытался загрузить аватары своих пользователей в представление UIButton. Мне нужно было использовать протокол делегирования TTImageView для обновления изображения кнопки. Например:
self.avatarImageView = [[TTImageView alloc] initWithFrame:CGRectMake(10, 10, 50, 50)];
self.avatarImageView.defaultImage = TTIMAGE(@"bundle://defaultAvatar.png");
self.avatarImageView.delegate = self;
self.avatarImageView.urlPath = @"http://www.site.com/path/to/image.png"
Как только urlPath установлен, запрос выполняется в фоновом режиме. Когда вы соответствуете TTImageViewDelegate, вы можете получить доступ к следующим методам делегата.
/**
* Called when the image begins loading asynchronously.
*/
- (void)imageViewDidStartLoad:(TTImageView*)imageView {
NSLog(@"loading image...");
}
/**
* Called when the image finishes loading asynchronously.
*/
- (void)imageView:(TTImageView*)imageView didLoadImage:(UIImage*)image {
NSLog(@"loaded image!");
[self.avatarImageButton setImage:image forState:UIControlStateNormal];
}
/**
* Called when the image failed to load asynchronously.
* If error is nil then the request was cancelled.
*/
- (void)imageView:(TTImageView*)imageView didFailLoadWithError:(NSError*)error {
NSLog(@"error loading image - %@", error);
}
Когда изображение успешно загрузилось, я могу использовать его для своей кнопки UIB, как вы увидите в методе imageView: didLoadImage.
Надеюсь, это поможет пролить свет на эту проблему. Я знаю, что это старый вопрос, но, возможно, это поможет другим позже.