【发布时间】:2013-11-05 12:40:46
【问题描述】:
我有一个UIImageView 在一个StoryBoard 的视图中,IBOutlet 连接已正确建立(对此进行双重和三重检查),要显示的图像已添加到正确的目标等。(已现在调试一天)UIImageView 显示图像,如果我在 Interface Builder 中设置它们。
但是,如果我将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;
}
在调试时,如果你检查 theImageToTint 的值,它是一个有效的图像(不是 nil),你甚至可以快速查看图像。但是当我将它分配给UIImageView 时,该值始终为零。没有错误,保持nil。
感谢您的关注,对于不完整的问题,我们深表歉意。
已编辑:
如果你执行
po self.theRecomendationImage.image
在执行赋值前后的调试控制台中:self.theRecomendationImage.image = theImageToTint;值为 nil。
已编辑:
如果您通过代码添加UIImageView,它会在您为其分配新图像时工作并更新,这让我指出一些Storyboard 问题。
是否有任何工具可以验证情节提要?
【问题讨论】:
-
你能给我看一些代码吗,比如你在哪里设置了这个 UIImage?
-
没有看到任何代码(你应该发布)。我猜你是在
viewDidLoad或其他类似的方法中设置图像。如果是这种情况,请尝试将其设置为viewWillAppear:再次,没有看到代码我只是在黑暗中拍摄。 -
是的@Firo 我也这么认为:)
-
我知道你说
IBOutlet连接正常但是用这个方法打印self.theRecomendationImage看看是不是nil。 -
这个你想出来了吗?我在 iOS7 上遇到了同样的问题,但在 iOS6.1 上有效。
标签: ios iphone objective-c uiimageview uiimage