【问题标题】:UIImageView not appearingUIImageView 没有出现
【发布时间】:2010-03-11 22:39:24
【问题描述】:

我正在尝试以编程方式使用 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 不会。我在这里做错了什么?

非常感谢!

【问题讨论】:

    标签: iphone uiimageview


    【解决方案1】:

    您必须实例化所有对象。如果您想保留对 imageView 的引用,一种方法是...(不要忘记在 dealloc 中释放它)。

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

    你可以解决剩下的;)

    【讨论】:

      【解决方案2】:

      拿走 IBOutlet 并添加:

      self.imageView = [[ImageView 分配]...]

      【讨论】:

      • 如果图像仅在 myClass 中使用,您可能也可以将整个 @property 行去掉。
      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多