У меня есть viewcontroller, который не может отобразить изображение, вот мой код:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blackColor];
dispatch_queue_t downloadQueue =
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(downloadQueue, ^{
NSData *mydata = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];
image = [UIImage imageWithData:mydata];
if (image) {
[imageView initWithImage:image];
scrollView.contentSize = image.size;
scrollView.bounces = NO;
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 2.0;
scrollView.delegate = self;
[scrollView addSubview:imageView];
[self.view addSubview:scrollView];
}
});
dispatch_release(downloadQueue);
}
Раньше это работало очень хорошо, но после того, как я внес некоторые изменения в другие контроллеры вида (я не вносил никаких изменений в этот), он больше не отображал изображение, я не могу понять, что происходит .
когда я использую функцию "dismissModalViewControllerAnimated", чтобы закрыть этот view-контроллер, я действительно увидел изображение в этот момент; и когда я делаю фон приложения и снова помещаю его на передний план, изображение появляется волшебно.
Я полностью сбит с толку! Любое предложение?
мою проблему удалось решить, поместив этот код в основную квену, спасибо за ваше внимание.
dispatch_async(dispatch_get_main_queue(), ^{
image = [UIImage imageWithData:mydata];
if (image) {
[imageView initWithImage:image];
scrollView.contentSize = image.size;
scrollView.bounces = NO;
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 2.0;
scrollView.delegate = self;
[scrollView addSubview:imageView];
[self.view addSubview:scrollView];
}
});