在UIImageView中更改图像

时间:2013-12-11 17:12:33

标签: ios objective-c uiimageview

我有两个ViewControllers,当我点击一个单元格时我需要打开其他viewController并看到图像(图像名称为1,2,3,...._ full.jpg),所以我写道:

DetailViewController *dvc = [[DetailViewController alloc] init];

[dvc updateImage:[NSString stringWithFormat:@"%d", indexPath.row]];

[self.navigationController pushViewController:dvc animated:YES];

在我的 dvc

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor grayColor];

    self.image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 748)];
    [self.image setTag:1];
    [self.view addSubview:self.image];
}
我称之为

的方法
-(void)updateImage:(NSString*)imageName
{
    [(UIImageView*)[self.view viewWithTag:1] setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@_full.jpg", imageName]]];
}
self.image.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@_full.jpg", imageName]];这样的人并不适合我。

所以,这些代码在我的IOS 5,6,7模拟器中工作正常,但是当我在我的IPad 2上编译它时,IOS 5.1我的图像没有更新,我看到的只是灰色背景。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

你跑

[dvc updateImage:[NSString stringWithFormat:@"%d", indexPath.row]];

调用viewDidLoad并重置图像后。 而是将图像名称作为字符串传递

[dvc setImageName:[NSString stringWithFormat:@"%d", indexPath.row]];

并在viewDidLoad调用中的DetailViewController.m中调用

[self updateImage:[NSString stringWithFormat:@"%@_full.jpg", self.imageName]];

请记住将@property imageName添加到DetailViewController.h文件中。

答案 1 :(得分:0)

omg,XCode是在开玩笑,这都是因为我的图像不是“.jpg”,而是“.JPG”!我很生气......