初始化UIImageView无法正常工作

时间:2014-08-24 00:14:52

标签: objective-c iphone uiimageview init

我是Objective C的新手,我正在尝试制作一个游戏,事情就是当我的导弹击中一艘我希望它消失的船时,但是当我再次开火时我希望它初始化为我想再次开火

图像在ViewControler.h中初始化

IBoutlet UIImageView *Missile;

然后当我尝试使用此代码的火方法时

Missile = [[UIImageView alloc] initWithFrame:CGRectMake(54, 145, 65, 30)];
Missile.image = [UIImage imageNamed:@"missile_fire.png"];
Missile.hidden = NO;
它崩溃了,我想这是因为它已经初始化了,但后来我这样做了

self->Missile = nil;

然后没有崩溃,但是在我上面的初始化后也没有图像,我需要的是初始化当我准备用位置和图像触发时,并且当它点击时消失

2 个答案:

答案 0 :(得分:2)

如果你想在没有故事板的情况下使用图像,请不要使用IBoutlet当你想使用storyboard连接对象到类时,使用beacuse IBoutlet

仅限使用:

UIImageView *Missile;

答案 1 :(得分:0)

初始化为:

UIImageView* missile;

然后,

missile = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
missile.image = [UIImage imageNamed:@"name"];
[self.view addSubview:missile];

崩溃时:

[missile removeFromSuperview];

如果你想让导弹移动,你将需要更多的代码。

此外,您应该将其设为missile而不是Missile,因为它不是一个类。类获得大写的第一个字母,但变量不是(missileUIImageView个对象)