UIImageView图像未设置

时间:2013-11-19 00:25:32

标签: ios uiimageview uiimage

我有一个TableView,其中包含从名为arryData的NSArray中获取的单元格文本的名称列表。在didSelectRowAtIndexPath中,我有:

NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil];
    [self.navigationController pushViewController:nextController animated:YES];
    [nextController changeProductText:[arryData objectAtIndex:indexPath.row]];    

在NextViewController中我有:

- (IBAction) changeProductText:(NSString *)str{
    NSLog(@"whosthere%@", str);
    self.title = str;
    if ( [str isEqualToString: @"Row 1 Name"]) {
        lblProductTxt.image = [UIImage imageNamed:@"row1name.png"];
        job.text = @"Sr. Minister & Elder";
        NSLog(@"Row 1 Name");
        emailaddress = @"Row1Email@att.net";
           } 
...
}

当我点击第1行的名称时,我的控制台会显示“whosthererow1name”,而另一个NSLog会触发第1行名称,但是图像不显示,文本也没有显示。我使用IB和XIB文件构建了这个。我确保Class匹配并且UILabel和UIImageView的IBOutlet都已连接。他们是。

为什么这不起作用?

更新:
刚刚在6.1设备和7.0设备上进行了测试。 6.1它工作正常,7.0它没有显示图像。

2 个答案:

答案 0 :(得分:1)

这不起作用的原因是因为在调用changeProductText时标签和图像视图将为null:因为尚未加载nextController的视图。我不明白为什么它在iOS 6中有效。你确定你在iOS 6中这样做了吗?执行此操作的方法是将字符串(以及您想要的任何其他内容)传递给您在nextController中创建的属性,并在viewDidLoad中填充UI元素。

答案 1 :(得分:0)

UIImageView是否实际初始化并在屏幕上某处?图像文件实际存在吗?通过在代码中的赋值点设置断点,确保您创建的UIImageView和UIImage都不是nil。