2010-10-06 90 views
1

我試圖讓我的IPhone應用程序,它改變了現有的圖像(簡單,我知道一個按鈕,但我花了2天,這:)的UIImageView更改問題IPhone問題

我有一個按鈕:

- (IBAction)myButton { 
    myUIImageView.image = [UIImage imageNamed:@"image.jpg"]; 
    NSLog(@"my button"); 
} 

我試圖找出爲什麼按鈕沒有做任何事情。 「我的按鈕」確實被記錄到控制檯,所以我知道它的映射是正確的。首先,我希望有人能告訴我是否可以在這裏記錄一些更重要的信息,比如圖像文件路徑?或者你也許會明白爲什麼這不起作用。

我合成myUIImageView高於此:

@synthesize myUIImageView; 

而且我宣佈它在我的.h文件:

- (IBAction)myButton; 
    @property(retain, nonatomic) IBOutlet UIImageView* myUIImageView; 

回答

1

兩件事情嘗試:

  1. 確保您UIImageView實際上顯示 。要做到這一點,只需將其背景色設置爲 可見,例如, myUIImageView.backgroundColor = [UIColor redColor];
  2. 確保您的圖像文件 (「image.jpg」)是您的 項目的一部分。
+0

好的2號image.jpg肯定是在資源文件夾,我可以點擊它,並看到它在Xcode。第一,我在Interface Builder中設置了一個不同的圖像(image2.jpg),這樣當應用程序第一次加載時,我可以看到image2.jpg,所以我知道它在那裏,這是否有意義? – 2010-10-06 02:13:20

+0

你在這兩方面都很好。還有一個想法:您是否記得在Interface Builder中將myUIImageView插座連接到UIImageView?您可以通過在action方法中記錄myUIImageView的值來驗證這一點。該行看起來像這樣:NSLog(@「%@」,myUIImageView); – 2010-10-06 02:35:27

+0

感謝您的幫助James,NSLog(@「%@」,myUIImageView);返回(null),所以我做了你說的和它的工作!非常感謝你,今晚我終於可以睡了:) – 2010-10-06 02:46:49

2

通常情況下,什麼是零這裏。

你有

myUIImageView.image = [UIImage imageNamed:@"image.jpg"]; 

那麼明顯的嫌疑人將兩種:

  1. myUIImageView爲零,或
  2. [UIImage的imagedNamed:@ 「image.jpg的」]將返回零。

添加一些日誌記錄以查看其中的任何一個是否爲真。

如果圖像沒有被加載,那麼我希望你會看到UI的改變,所以這可能不是問題。

更可能是myUIImageView的筆尖插口在Interface Builder中沒有正確連線,但日誌應該指向正確的方向。

+0

原諒我,我該如何登錄? NSLog(@ [UIImage imageNamed:@「image.jpg」]);不工作和NSLog([UIImage imageNamed:@「image.jpg」]);也不起作用。 – 2010-10-06 02:10:59

+0

NSLog(@「We have a image?%@」,[UIImage imageNamed:@「foo.png」]); – jabley 2010-10-06 03:34:48