我有两个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我的图像没有更新,我看到的只是灰色背景。
我做错了什么?
答案 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”!我很生气......