我想在運行時將圖像設置爲我的背景,所以我在Interface Builder中創建了一個UIImageView
'backGroundImage'作爲IBOutlet
。但是下面的代碼:UIImageView setImage不適用於IBOutlet
UIImage *image = [UIImage imageNamed:imageName];
NSLog(@"image=nil %d",(image ==nil));
NSLog(imageName);
[self.backGroundImage setImage:image];
NSLog(@"backgroundImage=nil %d",(self.backGroundImage.image ==nil));
給了我下面的NSLogs
2012-06-15 12:09:43.967 iElster[1960:207] image=nil 0
2012-06-15 12:09:43.967 iElster[1960:207] bedroom-sketch-corel-eps-vector-art-1141.jpg
2012-06-15 12:09:43.968 iElster[1960:207] backgroundImage=nil 1
所以基本上我可以載入我的形象,但我不能將其設置爲UIImageView
的形象。如果我有以下行
backGroundImage = [[UIImageView alloc]init];
我不明白「零」了我的backGroundImage.image
- 但在這種情況下,我顯然不使用由出口創造的UIImageView
了。我沒有看到上述代碼的問題,特別是因爲我在類似的Stack Overflow線程中看到的所有建議都完全相同:「只需使用setImage方法」;任何想法可能是什麼問題?
PS:只是爲了澄清 - 我嘗試使用不同的圖像,既.png和.jpg,他們都工作,如果我例如只需將它們設置爲我的ScrollView
的子視圖,但在上面的代碼中嘗試使用它們時不會。所以圖像文件不應該帶來任何問題。
看起來你忘了在你的代碼中將UIImageView從IB連接到IBOutlet。是這樣嗎? –
我有它正確@synthesized,我沒有連接UIImageView到IBOutlet通過按Ctrl +拖動IB(我實際上雙重檢查這兩種事情之前發佈在這裏幾次的方式) –
嘗試放在以下行:'NSLog(@「 self.backGroundImage is nil:%@「,self.backgroundImage?@」NO「:@」YES「);'並且指示'backGroundImage = [[UIImageView alloc] init];' - 它不應該在那裏。還有一件事:**你在哪種方法中有這樣的代碼?** –