我在UIImageView
视图中StoryBoard
,IBOutlet
连接正确(对此进行了双重和三重检查),要显示的图像被添加到正确的目标中等等(已经调试了一天)如果我在Interface Builder中设置它们,UIImageView
显示图像。
但是如果我将UIImageView.image
属性设置为有效的UIImage
(我甚至可以在调试时看到预览)加载任何图像,它总是显示第一个图像,而不是新图像,或者如果我在IB中留空了它保持零值。
这只发生在这个视图中,如果我在StoryBoard的另一个视图中尝试相同的事情,UIImageView
正确显示UIImage的内容。
任何线索我们都会非常感激。
编辑:
感谢您的回复,还测试了从按钮设置它,代码是这段代码:
财产声明是:
@property (strong, nonatomic) IBOutlet UIImageView *theRecomendationImage;
已经测试过弱和强,只是为了确定。
IBAction
实现(测试它被调用)
- (IBAction)changeImage {
UIImage *theImageToTint = [UIImage imageNamed:@"Sunny"];
// theImageToTint = [theImageToTint imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.theRecomendationImage.tintColor = [UIColor yellowColor];
self.theRecomendationImage.image = theImageToTint;
}
调试时如果检查了ImageToTint的值,它是一个有效的图像(不是nil),你甚至可以快速查看图像。但是当我将它分配给UIImageView
时,值总是为零。没有错误,只需保持无效。
感谢您的关注,对不完整的问题感到抱歉。
编辑:
如果你执行
po self.theRecomendationImage.image
在执行赋值之前和之后的调试控制台中:self.theRecomendationImage.image = theImageToTint;价值是零。
编辑:
如果您按代码添加UIImageView
,那么当您为其分配新图片时,它会正常运行并进行更新,这会让我指出一些Storyboard
问题。
是否有任何工具可以验证故事板?
答案 0 :(得分:1)
只需确保图片格式为.png
,而不是.jpg
或其他任何形式。