无法设置UIImageView图像

时间:2011-12-22 15:29:15

标签: objective-c ios cocoa-touch uiimageview uiimage

我正在使用if语句根据变量的值设置UIImageView的图像。这是声明:

- (void)configureView
{    
    if (self.detailItem) {
        if ([detailItem isEqualToNumber:[NSNumber numberWithInt:0]]) {
            [mapImageView setImage:[UIImage imageNamed:@"0.jpg"]];
            NSLog(@"derp");
        }
    }
}

“derp”被打印但UIImageView的图像不会改变...如果我将setImage:语句放在viewDidLoad中,它就可以了。我做错了什么?

1 个答案:

答案 0 :(得分:5)

我的猜测是你从视图控制器的init方法调用configureView方法。

此时视图控制器的视图尚未加载,其子视图的出口仍为nil

从以下任何一个调用它:

awakeFromNib
viewDidLoad
viewWillAppear:
viewDidAppear:

会奏效。

尝试分配

UIImage * image = [UIImage imageNamed:@"0.jpg"]

在那里放置断点,然后查看image中的值,以使其正确分配。