我正在写一个应用程序,通过不同的条件改变图像。当我调试所有设置,但我没有看到我的屏幕上的图像。任何人都可以帮我吗?我的UIImage被加载,但没有出现在屏幕上
-(void)setLuminanceImageSource
{
self.luminanceImageView.image = nil;
UIImage *image;
switch (self.luminanceImageSource) {
case FULL_LIGHT:
image = [UIImage imageNamed:@"belichting-goed"];
[self.luminanceImageView setImage:image];
NSLog(@"full");
break;
case HALF_LIGHT:
image = [UIImage imageNamed:@"belichting-matig"];
[self.luminanceImageView setImage:image];
NSLog(@"half");
break;
case BAD_LIGHT:
image= [UIImage imageNamed:@"belichting-slecht"];
[self.luminanceImageView setImage:image];
NSLog(@"bad");
break;
default:
image = [UIImage imageNamed:@"belichting-goed"];
break;
}
[self.luminanceImageView setImage:image];
[self.luminanceImageView setNeedsDisplay];
[self.view addSubview:self.luminanceImageView];
[self.view bringSubviewToFront:self.luminanceImageView];
}
这是我的方法来控制图像。我在.xib文件中有一个UIImageView,当我运行该应用程序时,我看到了在属性检查器中选择的图像,但在调用此方法时它会消失。
编辑:我已经改变了传统的命名风格的名称。
这是我的调试控制台,图像对象不是零,但luminanceImageView
保持nil
。
我已经创建了一个github仓库,我克隆了我的项目,以便您可以看到我的代码。 CameraApp repository 唯一的区别是luminaceImageView的位置,现在它位于屏幕的中间,所以我可以确定它是在设备的视图中。
检查您的图像名称扩展名..是否是'png'?或不 ? – iPatel
为什么你这样称呼[self.luminanceImage setNeedsDisplay];如果您调用setNeedsDisplay,则UIImageView类(及其子类)不会调用drawRect。这就是为什么你没有得到你的imageview框架 – Pawan
@iPatel,是的。我应该把这个名字放在名字后面吗?编辑:我用这个选项,仍然没有图像.. – Woudwijk84