【问题标题】:UIImageView set image programmatically bugUIImageView 以编程方式设置图像错误
【发布时间】:2014-04-13 05:31:56
【问题描述】:

我在情节提要中有一个 UIImageView,连接到子类 UIViewController 的标题,如下所示: @property (retain, nonatomic) IBOutlet UIImageView *displayPhoto;

在UIViewController子类的.m中,我尝试设置displayPhoto的图片。

@synthesize displayPhoto;

-(void)awakeFromNib {
    UIImage *image = [UIImage imageNamed:@"dp.jpg"];

    [displayPhoto setImage:image];

    displayPhoto.layer.cornerRadius = displayPhoto.image.size.width/2;

    [self.view addSubview:displayPhoto];
}

但它绝对没有任何作用。如果我再添加一行,添加另一个图像视图,如下所示:[self.view addSubview:[[UIImageView alloc] initWithImage:image]];,使我的方法f

@synthesize displayPhoto;

-(void)awakeFromNib {
    UIImage *image = [UIImage imageNamed:@"dp.jpg"];

    [self.view addSubview:[[UIImageView alloc] initWithImage:image]];

    [displayPhoto setImage:image];

    displayPhoto.layer.cornerRadius = displayPhoto.image.size.width/2;

    [self.view addSubview:displayPhoto];
}

它突然开始工作并将图像实例添加到视图中。一个在左上角(来自我添加的行),另一个在故事板图像位置。

发生了什么变化?添加这一行如何使我的代码正常工作,是否有任何解决方法可以使图像正常显示?

【问题讨论】:

  • 关键问题:如果在调试器中设置断点并检查,displayPhoto 是否为空?您是否可能没有将 Interface Builder 中的 UImageView 连接到您的 IBOutlet 属性?
  • 也许 awakeFromNib 为时过早。尝试将 awakeFromNib 中的代码移动到 viewDidLoad 并查看它是否有效。我想您的 IBOutlet 连接正确。

标签: ios objective-c uiviewcontroller uiimageview uistoryboard


【解决方案1】:

如果您在情节提要中添加了 UIImage 并正确连接了插座,则无需以编程方式创建新图像。试试这个。

- (void) viewDidLoad {
     [super viewDidLoad];
     self.displayPhoto.image = [UIImage imageNamed:@"dp.jpg"];
}

【讨论】:

  • 它仍然无法正常工作...我有 @property 就像这样:@property (weak, nonatomic) IBOutlet UIImageView *displayPhoto; 我添加了 viewDidLoad 就像你一样,我什至添加了一个 NSLog 以确保 viewDidLoad 运行.确实如此,但 imageView 中仍然没有图像显示
  • @user3451350 使用带有头文件和情节提要的助理编辑器。确保圆圈已填满,当您将鼠标悬停在圆圈上时,故事板中的正确图像会突出显示。您还可以删除 awakeFromNib 代码。
【解决方案2】:

检查 imageview 到 storyboard 的连接将解决您的问题。

【讨论】:

    【解决方案3】:

    使用这个:

    self.imgObj.image=[UIImage imageNamed:@"Your string"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多