使用Tableviewcontroller作为父级在Detailviewcontroller中显示URL中的图像

时间:2015-01-27 09:59:05

标签: image uitableview url detailview

很难解释,但我会尝试;

我正在制作一个用于展示道路相机的应用程序。我有一个TableViewController,它通向DetailViewController。 我想要实现的是,当我点击第1行时,它会显示来自www.url1.com的图片。如果我点击第2行,它会显示来自www.url2.com的图片,依此类推。我似乎无法弄清楚如何做到这一点。

我首先使用此代码开始:

_place = @[@"E6 Minnesund",
          @"E6 Heia"];

_url = @[@"http://webkamera.vegvesen.no/kamera?id=450848",
         @"http://webkamera.vegvesen.no/kamera?id=100102"];

但是停了下来,因为我看不出怎么能让这个工作......

有什么想法吗?

请不要只是评价帖子,因为你觉得它很愚蠢。我是Xcode的新手,对我来说,这很难。提前致谢

如有必要,我可以发布整个项目文件夹

1 个答案:

答案 0 :(得分:0)

只需在didselectrowAtIndexPath

中编写代码即可
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

 DetailViewController *picker = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
picker.row=indexPath.row;

[self.navigationController pushViewController:picker];

}

和DetailViewController


in .h


@interface DetailViewController : UIViewController
{

}
@property(nonatomic,assign)int row;

in .m


- (void)viewDidLoad
{

 dispatch_queue_t myqueue = dispatch_queue_create("myqueue", NULL);

    // execute a task on that queue asynchronously
    dispatch_async(myqueue, ^{
NSURL *url = [NSURL URLWithString:[_url objectAtIndex:row];
NSData *data = [NSData dataWithContentsOfURL:url];
 dispatch_async(dispatch_get_main_queue(), ^{
Image.image = [UIImage imageWithData:data]; //UI updates should be done on the main thread

UIImageView * myImageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:myImageView];
     });
    });