У меня есть TableView, когда я нажимаю на ячейку, она выдвигает мой класс ImageViewController и отображает изображение.Это работает отлично.Здесь используется метод viewDidLoad.
- (void)viewDidLoad
{
NSLog(@"ImageViewController Load");
NSLog(@"Image String: %@",imageString);
self.view.contentMode=UIViewContentModeCenter;
UIImage *im = [UIImage imageNamed:imageString];
if(im == nil){
NSLog(@"Image is NULL");
}
[image setImage:im];
self.title = @"View Image";
[super viewDidLoad];
}
imageString определяется как NSString в файле .h.Я использую StoryBoard и запускаю свой ImageViewController следующим образом:
ImageViewController *imageViewController = [segue destinationViewController];
imageViewController.imageString = [[listData objectAtIndex:selectedIndex]objectForKey:@"image"];
У меня возникают проблемы (экран черный), когда я пытаюсь просмотреть изображение при нажатии на ссылку в UIWebView.По сути, здесь UIWebView содержит весь мой контент, и я хотел бы просмотреть изображение при клике по ссылке.
Чтобы добиться этого, я использую следующий метод:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
И запускаю ImageViewController, используя следующий javascript
window.location.href="eft://?type=image&path=Google.jpg";
В методе mustStartLoadingWithRequest я нажимаюImageViewController использует следующее:
ImageViewController *imageViewController =[[ImageViewController alloc]init];
imageViewController.imageString = path;
[self.navigationController pushViewController:imageViewController animated:YES];
Изображение не равно NULL, поскольку я выполняю проверку, поля пути и типа указаны правильно, но экран черный.Вместо того, чтобы полагаться на поля пути и типа, я вручную устанавливаю эти поля в ImageViewController (например, google.jpg), и он по-прежнему показывает черный экран при загрузке контроллера из UIWebView.Если я загружаю его из таблицы, он отлично работает ???
Заранее спасибо