在不同视图中更改图像

时间:2014-10-07 14:13:19

标签: objective-c uiimageview viewcontroller

我正在尝试更改我正在制作的游戏中的角色形象,但我遇到了一些问题。我有一个视图控制器,我将所有字符作为自己的按钮,通过选择一个按钮,它应该改变GameViewController中的字符图像

change.h

- (IBAction)charOne:(id)sender;

change.m

- (IBAction)charOne:(id)sender 
{

    GameViewController *changeView = [GameViewController game];
    UIImageView *Romo = [GameView changeView];

    [ChangeView setImage:[UIImage imageNamed:@"testOne.png"]];

    NSLog(@"Test");

}

GameViewController.m

{
    IBOutlet UIImageView *changeView;
}

@property (strong, nonatomic) IBOutlet UIImageView *changeView;

此代码对我不起作用,我没有收到错误消息,但在选择图像后没有任何更改。

在GameViewController上,我试图更改图像的UIImage名称名为Romo。 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

尝试:

[Romo setImage:[UIImage imageNamed:@"testOne.png"]];

而不是:

[ChangeView setImage:[UIImage imageNamed:@"testOne.png"]];

您在类而不是类的实例上调用setImage方法。由于Romo是你想要影响的UIImageView的实例(它是你游戏视图控制器上UIImageView的引用指针),它应该是你影响的实例。

另外,对以大写字母开头的实例命名的不好做法 - 它们看起来像是类。