2010-10-06 85 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