2010-03-11 111 views
1

我想以编程方式使用UIImageView并且无法让它出现在屏幕上。在我的头,我有以下行:UIImageView没有出现

@interface myClass : UIView { 
    UIImageView *imageView; 
} 
@property (nonatomic, readonly) IBOutlet UIImageView *imageView; 

然后在我的viewWillAppear我有以下几点:

self.imageView.frame = CGRectMake(10, 10, 72, 72); 
self.imageView.backgroundColor = [UIColor redColor]; 
[self.imageView setImage:[UIImage imageNamed:@"test-image.png"]]; 
[containerView addSubview:self.imageView]; 

而这并不在所有的工作。如果我在viewWillAppear添加以下几行,我可以得到一个UIImageView出现:

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"blue_button_bg.png"]]; 
[containerView addSubview:imgView]; 

所以我不能做,为什么实例化一个UIImageView会工作,但使用类的伊娃不会感。我在这里做错了什么?

非常感谢!

回答

0

您必须初始化所有对象。一种方法来做到这一点,如果你想保持对imageView的引用,是...(不要忘记在dealloc中释放它)。

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"blue_button_bg.png"]]; 
[containerView addSubview:imageView]; 

你可以工作,休息;)

0

采取IBOutlet中,距离增加:

 
self.imageView = [[ImageView alloc]...] 
+0

你或许可以采取全@property线还远,如果图像MyClass中唯一使用。 – 2010-03-11 22:45:47