1

我有一个主从应用程序。我在 MasterViewController 表视图中列出了应用程序文档文件夹中的所有图像。单击每个 tableview 项目时,我将图像加载到具有 UIImageView 的 DetailViewController 中。我面临的问题是,当我单击 tableview 项目时,图像不会在第一个实例中加载。我只是在 DetailViewController 中看到消息“详细视图内容在此处”。如果我回去再试一次,它会工作得很好。它只是第一次图像不会加载。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 if (!self.detailViewController) {
    self.detailViewController = [[PtmDetailViewController alloc] initWithNibName:@"PtmDetailViewController" bundle:nil];
}
//NSDate *object = _objects[indexPath.row];

NSData *imgData = [NSData dataWithContentsOfFile:self.fPath];
UIImage *thumbNail = [[UIImage alloc] initWithData:imgData];
self.detailViewController.imgViewer.image = thumbNail;
[self.navigationController pushViewController:self.detailViewController animated:YES];
}

我究竟做错了什么?任何帮助,将不胜感激。

4

2 回答 2

0

似乎detailViewController没有时间加载视图。因此,您将图像设置为nilUIImageView (尚未初始化)。

尝试添加一个属性UIImage *thumbdetailViewController然后在 detailViewController 的viewDidLoad添加

imgViewer.image=self.thumb;

在你的tableView:didSelectRowAtIndexPath:改变中

UIImage *thumbNail = [[UIImage alloc] initWithData:imgData];
self.detailViewController.imgViewer.image = thumbNail;

UIImage *thumbNail = [[UIImage alloc] initWithData:imgData];
self.detailViewController.thumb = thumbNail;
于 2013-01-10T11:05:14.673 回答
0

我想,第一次要么self.fpath来了,nil要么里面没有图像path。第一次检查imgData是否有valur or nil。然后展示你的形象,

[UIImage imageWithContentsOfFile:self.fpath]
于 2013-01-10T11:08:17.513 回答