我正在尝试以编程方式使用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会起作用,但使用类的ivar却不行。我在这里做错了什么?
非常感谢!
答案 0 :(得分:0)
取走IBOutlet并添加:
self.imageView = [[ImageView alloc]...]
答案 1 :(得分:0)
您必须实例化所有对象。一种方法,如果你想保持对imageView的引用,是......(不要忘记在dealloc中发布它。)
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"blue_button_bg.png"]];
[containerView addSubview:imageView];
你可以解决剩下的问题;)