我有一个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被定义为.h文件中的NSString。我正在使用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{
使用以下javascript启动ImageViewController
window.location.href="eft://?type=image&path=Google.jpg";
在shouldStartLoadingWithRequest方法中,我使用以下方法推送ImageViewController:
ImageViewController *imageViewController =[[ImageViewController alloc]init];
imageViewController.imageString = path;
[self.navigationController pushViewController:imageViewController animated:YES];
当我执行检查并且路径和类型字段正确但屏幕为黑色时,图像不为空。我不是依赖路径和类型字段,而是在ImageViewController中手动设置这些字段(对于exmaple google.jpg),当从UIWebView加载控制器时,它仍然显示黑屏。如果我从表格视图加载它,它完美地工作???
提前致谢
答案 0 :(得分:0)
我找到了答案,我需要使用故事板参考初始化